我正在尝试解析电子邮件并收到以下消息,以便使用Apple Mail进行回复。 它由包含附件和 2 html部分的multipart / mixed组成。
简而言之:
multipart/alternative
\--> text/plain
\--> multipart/mixed
\--> text/html
\--> multipart/alternative
\--> text/html (empty)
或使用电子邮件来源:
From: "John Doe" <john@example.com>
... // some headers
Content-Type: multipart/alternative;
boundary="Apple-Mail=_9331E12B-8BD2-4EC7-B53E-01F3FBEC9227"
Message-Id: <6BB1FAB2-2104-438E-9447-07AE2C8C4A92@sexample.com>
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
... // rest of headers
--Apple-Mail=_9331E12B-8BD2-4EC7-B53E-01F3FBEC9227
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=us-ascii
My message in text...
--Apple-Mail=_9331E12B-8BD2-4EC7-B53E-01F3FBEC9227
Content-Type: multipart/mixed;
boundary="Apple-Mail=_CA6C687E-6AA0-411E-B0FE-F0ABB4CFED1F"
--Apple-Mail=_CA6C687E-6AA0-411E-B0FE-F0ABB4CFED1F
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
charset=us-ascii
<html><head></head><body>My message in HTML...</body></html>
--Apple-Mail=_CA6C687E-6AA0-411E-B0FE-F0ABB4CFED1F
Content-Disposition: inline;
filename=myfile.pdf
Content-Type: application/pdf;
name="myfile.pdf"
Content-Transfer-Encoding: base64
... // base64 content
--Apple-Mail=_CA6C687E-6AA0-411E-B0FE-F0ABB4CFED1F
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
charset=us-ascii
<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><base></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"></blockquote></div><br></body></html>
--Apple-Mail=_CA6C687E-6AA0-411E-B0FE-F0ABB4CFED1F--
--Apple-Mail=_9331E12B-8BD2-4EC7-B53E-01F3FBEC9227--
注意最后一部分是空的<blockquote type="cite"></blockquote>
(是因为它是回复?)。
Content-Type: text/html
吗?由于
答案 0 :(得分:1)
根据RFC1341(第7.2.2节)
multipart的主要子类型&#34; mixed&#34;,用于何时使用 身体部位是独立的,旨在连续显示。
所以我想说,Apple的电子邮件是有效的(即使我不明白空白部分)。两个html部分应该被认为是不同的(在我的情况下,最好连接它们)。