【发布时间】:2014-06-21 06:40:22
【问题描述】:
我正在使用 Python email.mime lib 编写电子邮件,我创建了两个 MIMEText 对象,然后将它们作为文本(而不是附件)附加到 Message,结果我得到了 MIME 文档,如下所示可以看到有两个文本对象,一个是plain类型,另一个是html类型,我的问题是我在某些邮件客户端中只能看到后一个文本对象(这里是html),而我可以看到两个文本其他一些邮件客户端(例如 live.com)中的对象,那么是什么原因造成的呢?
Content-Type: multipart/mixed; boundary="===============0542266593=="
MIME-Version: 1.0
FROM: john.smith@NYU.com
TO: john.smith@live.com, john.smith@gmail.com
SUBJECT: =?utf-8?q?A_Greeting_From_Postman?=
--===============0542266593==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
SGkhCkhvdyBhcmUgeW91PwpIZXJlIGlzIHRoZSBsaW5rIHlvdSB3YW50ZWQ6Cmh0dHA6Ly93d3cu
cHl0aG9uLm9yZw==
--===============0542266593==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
ICAgICAgICA8aHRtbD4KICAgICAgICAgIDxoZWFkPjwvaGVhZD4KICAgICAgICAgIDxib2R5Pgog
ICAgICAgICAgICA8cD5IaSE8YnI+CiAgICAgICAgICAgICAgIEhvdyBhcmUgeW91Pzxicj4KICAg
ICAgICAgICAgICAgSGVyZSBpcyB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5weXRob24ub3JnIj5s
aW5rPC9hPiB5b3Ugd2FudGVkLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2JvZHk+CiAg
ICAgICAgPC9odG1sPgogICAgICAgIA==
--===============0542266593==--
【问题讨论】:
-
您的结果不是格式良好的多部分 MIME 对象。特别是,电子邮件标题缺少“内容类型”。任何特定的邮件客户端如何解释这个不正确的输入似乎充其量是不可预测的。
-
@Robᵩ 抱歉,我在粘贴 MIME 文档时错过了第一行,实际上“Content-Type”在那里,现在我已将其添加到问题中。