python3发邮件,附件名称为中文时出错

问题描述

我写了一个发邮件的类,一切进行的很顺利,但是附件名改成中文的时候就出问题了

问题出现的环境背景及自己尝试过哪些方法

用的是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打开直接看不到附件。求高手指点。谢谢~~


潇潇雨雨
浏览 740回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python