亲爱的开发者们
我有一个问题,即由 Python 2.7.5 smtplib 与 MIMEBase 组合发送的附件被 iPad 和 iPhone 的 iOS 上的电子邮件客户端丢弃/不显示(但收到并在所有其他平台上显示)。
我正在使用直接来自 python 文档站点示例的程序代码。
msgOther = MIMEBase(mimeMainType, mimeSubType)
msgOther.set_payload(binData)
encoders.encode_base64(msgOther)
msgOther.add_header(u'Content-Disposition', u'attachment', filename=binDisplayName)
MessageData.attach(msgOther)
其中 binData 是 Qt4 生成的 .pdf 文件
和 mimeMainType = 应用程序,
和 mimeSubType = pdf,
和 binDisplayName = BaseNameOfFileWithoutPath
以上代码发送的电子邮件接收良好:
带有 Outlook Express 和 Exchange 的 Microsoft Windows XP/7/8。
Linux 桌面上的 Thunderbird,
Gmail 网络邮件,
Android手机上的GMail POP3客户端,
三星移动设备中的标准电子邮件客户端,
Mac OSX 桌面标准邮件客户端。
但是在 iPhone 和 iPad 设备上,附件不会显示。
仅显示我发送的主要 (HTML) 正文和内联图像,但根本不显示作为附件的 .pdf 或 .docx。
主体部分设置为 alternative 或 mixed (我都尝试了但没有结果)。我还尝试了多个或单个附件,但在其他平台上始终可以正常工作。
其他人有同样的经历吗?
注意:我在 Fedora Linux 20 上运行 Python 2.7.5。
Best Answer-推荐答案 strong>
代替:
msg = MIMEMultipart('alternative')
用途:
msg = MIMEMultipart('mixed')
关于python - 为什么iphone不显示python 2.7.x发送的附件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28418491/
|