我可以使用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:],并且变量等于那个,但文件路径总是在电子邮件文件中出现(没有斜杠)。
如何指定附件的文件名?
答案 0 :(得分:2)
您对email.message.Message.add _header
的使用基本上是正确的,除非您无法传入目录名称 - 如果您可以控制收件人网站的目录结构,那将是一个安全问题(以及在许多情况下的大规模可用性问题)因此它根本不受支持。
如果变量filename=os.path.basename(fileToSend)
中的值是用户提供的可能包含路径的字符串,请使用CreateSocket
之类的内容(请参阅documentation)。