我是一名学生,研究一些关于MIME邮件封装格式方面的东西,主要是跟IMAP4相关的内容。
我尝试了一下系统发出的系统退信的格式,因为之前也有分析你们163发出来的系统退信。
我发现之前的格式为:
From: ...(邮件头)
content-type: multipart/mixed
--------------Boundary-00=_8KHM2KRL3FSYAX7WKFN2
Content-Type: Text/Plain
Content-Transfer-Encoding: base64
Content-Disposition:
...(正文内容)
--------------Boundary-00=_8KHM2KRL3FSYAX7WKFN2
Content-Description: Undelivered Message
Content-Type: Message/Rfc822
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment
...(退信的内容)
--------------Boundary-00=_8KHM2KRL3FSYAX7WKFN2--
今天试了一下系统退信,发现退信的格式变成了:
From: ...(邮件头)
content-type: Multipart/report;
report-type=delivery-status;
boundary="------------Boundary-00=_SHITSG9FXT7NT9JMYHI1"
--------------Boundary-00=_SHITSG9FXT7NT9JMYHI1
Content-Type: Text/Plain
Content-Transfer-Encoding: base64
Content-Description: Notification
...(正文内容)
--------------Boundary-00=_SHITSG9FXT7NT9JMYHI1
Content-Type: Message/delivery-status
Content-Description: Delivery error report
Final-Recipient: rfc822; aaa@afadfadf.com
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Coremail; DNS query error: afadfadf.com
--------------Boundary-00=_SHITSG9FXT7NT9JMYHI1
Content-Type: Message/Rfc822
Content-Description: Undelivered Message
Content-Transfer-Encoding: 8bit
...(退信内容)
--------------Boundary-00=_SHITSG9FXT7NT9JMYHI1--
我不是很理解关于你们对格式修改的原因,我觉得从新格式看来,邮件体主类型为 multipart ,该 multipart 中包含了3个段,第一个为 text/plain ,第二个为 Message/delivery-status ,第三个为 Message/Rfc822 。较之于以前的邮件格式,增加了第二个段 Message/delivery-status ,而该段根本就没有内容,而你们163网页客户端对该类型邮件的解析也不正确,其主动的认为该封邮件有两个附件,第一个是一个莫名其妙的文本文件,我猜想是根据解析第二个段而来,第二个才是那封退回来的邮件。其实我认为,第二个段根本没有用处(至少从现在看来),或者你们应该添加一些内容进去。
希望能尽快得到你们的回复。或者能帮助解释一下对该类结构的理解,非常感谢。
如果哪位网友能帮忙解析一下,也非常感谢。