幾個月前我做了一個電子郵件發送器,現在我有另一個專案,我想重新測驗一下,由于某些原因,它不能找到JPG圖片,而這個圖片基本上與python檔案在同一目錄中。
#Email Module Imports。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
#匯入時間模塊
import time
#Imports Numeric Module Functions import time
import random
def EmailSender()。
#Email Variables EmailSender().
email_user = 'email' # Sender Email(因故隱藏)
email_password = 'password' # Sender Password (hidden for reason)
email_send = 'emailsend' # Receiver Email(因故隱藏)
PORT_EMAIL = 'smtp.gmail.com'/span>
PORT = 587 # Email Port
主題 = '電子郵件測驗'
emailtest = "測驗"/span>
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject
body = emailtest
msg.attach(MIMEText(body, 'plain')
檔案名 = 'download.jpg'/span>
Email_attachment = open(filename, 'rb')
part = MIMEBase('application', 'octet-stream')
part.set_payload((Email_attachment).read())
encoders.encode_base64(part)
# 添加帶有附件的郵件頭。
part.add_header('Content-Disposition', "attachment; filename=" filename)
msg.attach(part) # attachaches email# runs the email SMTP.
srv.login(email_user, email_password)
srv.quit() # stop
EmailSender()
uj5u.com熱心網友回復:
關于專案的相對路徑(檔案夾)已經改變。 為了防患于未然,用EmailSend.py所在的絕對路徑將路徑改為jpg
。import os
currentDir= os.path.abspath(os.path.dirname(__file__) ) # 獲取當前的Pytho檔案,SendEmail.py并回傳絕對路徑(父目錄)。
filepath=os.path.join(currentDir,"download.jpg"/span>)
uj5u.com熱心網友回復:
作為@jozefow的回答的后續,
import pathlib
cwd = pathlib.Path.cwd()
filepath = cwd / "download.jpeg"。
他們的答案與我的不同之處在于,我的答案沒有假設當前作業目錄與檔案目錄相同。 無論哪種假設都會產生問題。
另一個關鍵的區別是,我的答案在名義上是更現代的 python。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329350.html
標籤:

