问题描述
我写了一个发邮件的类,一切进行的很顺利,但是附件名改成中文的时候就出问题了
问题出现的环境背景及自己尝试过哪些方法
用的是python3*和email包
是了MIMEText、MIMEApplication、MIMEBase都不行
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
//下面是MIMEText
att1 = MIMEText(open(v, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
#生成附件的名称
filename = (v.split("\\"))[-1]
att1["Content-Disposition"] = 'attachment; filename='+filename
#将附件内容插入邮件中
self.message.attach(att1)
//下面是MIMEApplication
xlsxpart = MIMEApplication(open(v, 'rb').read())
basename = (v.split("\\"))[-1]
xlsxpart.add_header('Content-Disposition', 'attachment', filename=('gbk', '', basename))
self.message.attach(xlsxpart)
你期待的结果是什么?实际看到的错误信息又是什么?
用浏览器打开邮箱还能看到一个附件,但是名称不是正确的,用foxmail打开直接看不到附件。求高手指点。谢谢~~
附件名可以中文,下面是自己以前的一个代码片段,用make_header