除Hotmail之外,多部分电子邮件随处可见

时间:2015-02-24 16:21:49

标签: email outlook mime multipart hotmail

我有一封multipart/alternative电子邮件,可以完全适用于Gmail,Yahoo以及我尝试过的任何其他电子邮件......除了Hotmail(以及我认为的任何微软)。

电子邮件在Hotmail上显示为原始文本。

无论我多少时间撞到墙上并对微软发出咒骂,这已成为日常活动,我无法弄清楚为什么它不起作用。你能吗?

如果你想自己尝试一下,这是电子邮件:

接头:

MIME-Version: 1.0
Content-Type: multipart/alternative;
     boundary="----=_Part_18243133_1346573420.1408991447668"

体:

------=_Part_18243133_1346573420.1408991447668
Content-Type: text/plain; charset=UTF-8

Hello world.


------=_Part_18243133_1346573420.1408991447668
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>

<p style="margin-top:50px;font-size:9px;">Hello world</p>

</body></html>


------=_Part_18243133_1346573420.1408991447668--

如果您想在服务器上测试它,请使用full code,使用我使用的phpmail或wp_mail()。

更新:这是收到的邮件source

2 个答案:

答案 0 :(得分:2)

可能是复制粘贴到pastbin错误,但是你的eml在分隔符行中包含一个空格。见这里:

--====f230673f9d7c359a81ffebccb88e5d61==
Content-Type: multipart=...<CR><LN>
<SPACE><CR><LN>
^^^^^^^
--====1fdbf23c3658d752511a8dbe74788e30==

如果它不是复制粘贴错误而不是hotmail,则无法识别mime实体标题的结尾。

答案 1 :(得分:1)

您看起来看起来符合RFC2046,因此 应该与所有MUA(包括Hotmail)一起使用。但话说回来,这条消息的结构方式有些不同寻常,而Hotmail可能无法正确处理这样的消息,即使它在RFC范围内也是如此。

构造包含纯文本正文和HTML正文的消息的更常见方式是在标题中指定multipart / mixed,然后创建包含纯文本正文部分和HTML正文的多部分/替代部分部分,使用&#39; subboundaries&#39; (因缺乏更好的术语)将两个身体部位分开。见下文:

邮件标题

MIME-Version: 1.0
Content-Type: multipart/mixed; 
boundary="====f230673f9d7c359a81ffebccb88e5d61=="

讯息正文

--====f230673f9d7c359a81ffebccb88e5d61==
Content-Type: multipart/alternative;
boundary="====1fdbf23c3658d752511a8dbe74788e30=="

--====1fdbf23c3658d752511a8dbe74788e30==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hello world.

--====1fdbf23c3658d752511a8dbe74788e30==
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<p style="margin-top:50px;font-size:9px;">Hello world</p>

</body></html>

--====1fdbf23c3658d752511a8dbe74788e30==--

--====f230673f9d7c359a81ffebccb88e5d61==--