求助:写python脚本发 带有附件的邮件, 收到邮件后,发现附件直接显示在屏幕上了,而不是以附件形式

不知道为什么会这样,以下是我从网上参考的pythoncode:fromAdd='odps.testmail@alibaba-inc.com'title='RepPrjSt... 不知道为什么会这样,以下是我从网上参考的python code:

fromAdd = 'odps.testmail@alibaba-inc.com'
title = 'RepPrjStat'
ccList = ''
toList = 'wenfeng.jiang@aliyun-inc.com'
try:
#smtp.ops.aliyun-inc.com
emailSender = libmail.SMTP_SSL('smtp.ops.aliyun-inc.com')
msgRoot = MIMEMultipart('alternative')
msgRoot['Subject'] = 'Project Replicate Stat'

content = MIMEText(message, 'html')
msgRoot.attach(content)
file_name="./%s"%self.jobStatDetailFilePath
contype = 'application/octet-stream'
maintype, subtype = contype.split('/', 1)
data = open(file_name, 'rb')
file_msg = MIMEBase(maintype, subtype)
file_msg.set_payload(data.read())
data.close()
basename = os.path.basename(file_name)
file_msg.add_header('Content-Disposition',
'attachment', filename = basename)
msgRoot.attach(file_msg)
msgRoot['From'] = fromAdd
msgRoot['To'] = toList
emailSender.SendHTML('', '', fromAdd, toList, ccList, title, msgRoot.as_string())
except Exception, e:
print traceback.format_exc()
展开
 我来答
bdwisyou7d
2013-06-09 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1070万
展开全部
这是因为你的附件格式。如果是rar格式的话,可能就不会直接显示在屏幕上了。

我以前写邮件收件端都比你这个复杂,那时候邮件的库支持还很差,所有的协议都要自己写。包括附件的编码。那个很长的BASE64写的东西。
革适0HZ3e7
2013-06-23
知道答主
回答量:5
采纳率:0%
帮助的人:6296
展开全部
这是因为你的附件格式。如果是rar格式的话,可能就不会直接显示在屏幕上了。

我以前写邮件收件端都比你这个复杂,那时候邮件的库支持还很差,所有的协议都要自己写。包括附件的编码。那个很长的BASE64写的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式