有一种特殊的 Amazon 消息似乎会抛出 Indy 的 MessagePart 解析器。
该消息的结构(当然是强烈删节的版本)如下:
Content-Type: multipart/mixed;
boundary="----=_Part_853547_18414509.1354745829993"
<some irrelevant header stuff>
------=_Part_853547_18414509.1354745829993
Content-Type: multipart/alternative;
boundary="----=_Part_853548_20128671.1354745829993"
------=_Part_853548_20128671.1354745829993
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<the message in plain text>
------=_Part_853548_20128671.1354745829993
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<the message in HTML>
------=_Part_853548_20128671.1354745829993--
------=_Part_853547_18414509.1354745829993--
现在,当我执行
imap.UIDRetrieve(UID,Msg)
然后
Msg.ContentType = "multipart/mixed"
并且个人Msg.MessageParts
将其作为内容类型:
Msg.MessageParts[0].ContentType = "multipart/alternative; boundary="----=_Part_853548_20128671.1354745829993""
Msg.MessageParts[1].ContentType = "text/plain"
没有零件的痕迹text/html
。
有人知道这里发生了什么吗?
(我正在使用最新的 Indy 版本)