在python中使用MIMEAppliction封装附件,outlook收到此邮件时无附件。
使用MIMEBase封装附件,outlook可以收到附件。
其他客户端、网页端均正常显示,就想搞明白为什么,以后要如何取舍,在网上看到的办法都是使用MIMEApplication,对不明确的附件类型的附件进行统一包装。
两段代码如下,请教为什么?
file_mail = MIMEApplication(open(fileurl,'rb').read())
file_mail.add_header('Content-Disposition', 'attachment',filename=filename.decode('utf-8').encode('gb2312'))
msg.attach(file_mail)
part = MIMEBase('application', 'octet-stream') #'octet-stream': binary data
part.set_payload(open(file, 'rb').read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file))
msg.attach(part)
没用过 MIMEApplication。看上去没什么区别。
你可以给出能够复现问题的代码吗?(我没有办法验证,而你的代码有所缺失,所以构造的邮件可能会发生你遇到的问题,也可能不会。)