除了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--

如果你想在服务器上测试它,下面是完整的代码,可以使用phpmail或我正在使用的wp_mail()。

更新:这是收到的hotmail消息的来源。

可能是复制粘贴到pastbin的错误,但您的eml在分隔符行中包含一个空格。请参阅此处:

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

若不是复制粘贴错误,那个么hotmail就无法识别mime实体头的末尾。

您所拥有的看起来符合RFC2046,因此应该适用于所有MUA(包括Hotmail)。但话虽如此,这封邮件的结构方式有些不同寻常,可能是Hotmail无法正确处理这样的邮件,尽管就RFC而言,它符合规范。

构造包含纯文本正文和HTML正文的消息的更常见的方法是在标题中指定多部分/混合,然后创建一个包含纯文本主体部分和HTML主体部分的多部分/替代部分,使用"子边界"(因为没有更好的术语)来分隔两个主体部分。见下文:

消息头

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==--

相关内容

  • 没有找到相关文章

最新更新