【问题标题】:python MIME: how do i change the name of the attachment?python MIME:如何更改附件的名称?
【发布时间】:2016-02-20 16:22:04
【问题描述】:

我可以使用 smtplib 函数发送电子邮件,但我的文件名总是包含文件的路径:

attachment.add_header("Content-disposition", "attachment", filename=fileToSend)
msg.attach(attachment)

在这种情况下 fileToSend = "/home/pi/email/RPSL-0002_2015_11_17__00_00_00.csv"

我收到的文件是 主页邮件RPSL-0002_2015_11_17__00_00_00.csv

我已经尝试替换 fileToSend[11:] 和一个与之相等的变量,但文件路径总是在电子邮件文件中出现(没有斜杠)。

如何指定附件的文件名?

【问题讨论】:

  • smtplib 关注的是消息传输,而不是内容。我已经相应地更新了您的问题。
  • @tripleee:谢谢。 (我认为你的意思是python“MIME”,而不是“MilME”......

标签: python email attachment mime


【解决方案1】:

您对email.message.Message.add _header 的使用基本上是正确的,只是您不能传入目录名称 - 如果您可以控制收件人站点的目录结构,那将是一个安全问题(以及在许多场景),所以它根本不受支持。

如果变量fileToSend 中的值是用户提供的可能包含路径的字符串,请使用filename=os.path.basename(fileToSend) 之类的内容(请参阅documentation)。

【讨论】:

    猜你喜欢
    • 2020-03-12
    • 2012-11-02
    • 2018-11-15
    • 2015-05-28
    • 2012-02-02
    • 2017-05-29
    • 2011-12-14
    • 2012-07-22
    • 2018-04-03
    相关资源
    最近更新 更多