我可以使用smtplib函数发送电子邮件,但我的文件名总是包括文件的路径:
attachment.add_header("Content-disposition", "attachment", filename=fileToSend)
msg.attach(attachment)
在这种情况下fileToSend="/home/pi/email/RSPL-0002_2015_11_17__00_00_00.csv"
我收到的文件是homepiemailRPSL-002_2015_11_17__00_00_00.csv
我已经尝试替换fileToSend[11:],以及一个等于它的变量,但文件路径总是通过电子邮件文件(没有斜杠)。
如何指定附件的文件名?
您对email.message.Message.add _header
的使用基本上是正确的,只是您不能传入目录名-如果您可以控制收件人站点的目录结构,那将是一个安全问题(在许多情况下也是一个巨大的可用性问题),因此根本不支持它。
如果变量fileToSend
中的值是用户提供的字符串,其中可能包含路径,请使用类似filename=os.path.basename(fileToSend)
的内容(请参阅文档)。