簡體   English   中英

Python將轉義符添加到電子郵件附件名稱

[英]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.

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