簡體   English   中英

Python發送的MIME電子郵件附件未顯示在mail.live中

[英]Python-sent MIME email attachments not showing up in mail.live

我有一個Python 3腳本,該腳本使用MIMEMultipart發送帶有已生成附件的.xlsx文件的電子郵件。 我曾經在Py2上使用相同的腳本來發送相同的生成文件,唯一的區別是Py2腳本從MySQL收集了信息以創建.xlsx,而Py3腳本使用了PostgreSQL。

msg = MIMEMultipart('alternative')
msg.attach(MIMEText("""HTML stuff""", 'html'))

with open(analysis_file, "rb") as fil:
  msg.attach(MIMEApplication(
                    fil.read(),
                    Content_Disposition='attachment; filename="%s"' % os.path.basename(analysis_file),
                    Name=os.path.basename(analysis_file)
                ))

msg['Subject'] = "SUBJECT"
msg['From']="Me <me@me.com>"
msg['To']= "You <you@you.com>"

server.sendmail(FROMADDR, ["you@you.com"], msg.as_string())

但是,當我切換到腳本的Py3版本時,附件停止出現在Microsoft的mail.live中。 仍在顯示帶有郵件附件的回形針符號,但找不到。

- 編輯:

如果我設置了自動轉發到Gmail帳戶,則.xlsx附件會正常顯示在該帳戶中; 但是,如果我手動轉發,則不會。

改變中

msg = MIMEMultipart('alternative')

msg = MIMEMultipart('html')

修復。

請幫我一個忙,並測試它是否可以與yagmail一起使用 對於做HTML /附件的事情,我認為它真的很有用:默認是用HTML發送內容,而附件只需指向路徑即可。

所有代碼:

import yagmail
yag = yagmail.SMTP('me@me.com', 'password')
yag.send("you@you.com", "SUBJECT", analysis_file)

send的第三個字段是內容,可以是字符串列表,也可以只是字符串。 如果該字符串可以作為文件加載,則只需附加它即可。

有關更多信息,請查看github頁面。 請注意,我是開發人員/維護人員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM