python MIME:如何更改附件的名称?

时间:2015-11-18 19:13:36

标签: python email attachment mime

我可以使用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”

我收到的文件是     homepiemailRPSL-0002_2015_11_17__00_00_00.csv

我试过替换fileToSend [11:],并且变量等于那个,但文件路径总是在电子邮件文件中出现(没有斜杠)。

如何指定附件的文件名?

1 个答案:

答案 0 :(得分:2)

您对email.message.Message.add _header的使用基本上是正确的,除非您无法传入目录名称 - 如果您可以控制收件人网站的目录结构,那将是一个安全问题(以及在许多情况下的大规模可用性问题)因此它根本不受支持。

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