[英]Attachments getting attached twice using smptplib in python
我試圖在python中實現一個功能,我想發送一個文件作為電子郵件提醒的附件一切正常。 我收到了所需主題的電子郵件提醒,但唯一的問題是我在電子郵件提醒中兩次獲得相同的附件。
fileMsg = email.mime.base.MIMEBase('application','octet-stream')
fileMsg.set_payload(file('/home/bsingh/python_files/file_dict.txt').read())
#email.encoders.encode_base64(fileMsg)
fileMsg.add_header('Content-Disposition','attachment;filename=LogFile.txt')
emailMsg.attach(fileMsg)
# send email
server = smtplib.SMTP(smtp_server)
server.starttls()
server.login(username, password)
server.sendmail(from_add, to_addr,emailMsg.as_string())
server.quit()
我自己一直遇到這個問題。 我有'alternative'
作為我的消息的MIMEMultipart類型。 當我更改為默認值'mixed'
,副本消失了。
因此,如果您使用MIMEMultipart('alternative')
創建了emailMsg
,則可能會遇到同樣的問題。
我相信'alternative'
是提供郵件正文的文本和HTML版本,所以我認為如果你使用它,除了你的附件之外你還需要提供它們。
我希望有所幫助。
我還沒有找到任何好的解釋; 電子郵件可能變得非常復雜
yagmail (我是開發人員)的全部目的是讓發送電子郵件變得非常容易,尤其是HTML或附件需求。
請嘗試以下代碼:
import yagmail
yag = yagmail.SMTP(from_add, password)
contents = ['See my attachment below', '/home/bsingh/python_files/file_dict.txt']
yag.send(contents = contents)
請注意這里的魔力: contents
是一個列表,其中將自動加載等於文件路徑的項目,mimetype猜測和附加。
還有更多的魔法,例如易於嵌入圖像,無密碼腳本,無用戶名腳本,簡單別名,智能默認值(注意我省略了to
和subject
參數?)等等。 我建議/鼓勵你閱讀它的github頁面:-)。 隨意提出問題或添加功能請求!
您可以使用pip來安裝yagmail:
pip install yagmail # Python 2
pip3 install yagmail # Python 3
該版本存在問題。已經解決了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.