[英]Python adding escape characters to email attachment name
因此,我是python的新手,我正嘗試發送帶有附件的電子郵件。 我在這里使用StackOverflow上描述的指南: 如何使用Python發送電子郵件附件
我正在使用以下代碼附加文件...
for f in glob.glob('./*/*'):
path = f.split('/')
with open(f, "rb") as fil:
msg.attach(MIMEApplication(
fil.read(),
Content_Disposition = 'attachment; filename="' + path[-1] + '"'
))
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(username,password)
server.sendmail(emailFrom, emailTo, msg.as_string())
server.quit()
當我收到電子郵件時,所有附件都稱為“ noname”。 如果我在Gmail中打開原始電子郵件,則會顯示附件,如下所示:
Content-Type: application/octet-stream; Content-Disposition="attachment;
filename=\"Daily Report.txt\""
為什么名稱不正確?
由於完全不了解我的原因,以下代碼有效。 不過,似乎它在做相同的事情。 有人知道發生了什么嗎?
for f in glob.glob('./*/*'):
path = f.split('/')
with open(f, 'rb') as fil:
submsg = MIMEApplication(fil.read())
submsg.add_header('Content-Disposition', 'attachment', filename = path[-1])
msg.attach(submsg)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.