【发布时间】:2010-09-28 02:01:16
【问题描述】:
我将 HTML 电子邮件用于客户的时事通讯。不使用 HTML 邮件是不是的一种选择。我使用 PHPMailer 进行邮件发送,但我也尝试过直接使用 PHP 的 mail() 函数。在这两种情况下,我都会遇到下面描述的相同问题。我尝试过发送多部分以及仅发送 HTML 版本。
在我尝试过的每个电子邮件客户端中,电子邮件都可以正常到达。我的意思是电子邮件被识别为 HTML 电子邮件并呈现内容。 Outlook Express 上的某些帐户除外。我无法辨别为什么它适用于某些人以及为什么它不适用于其他人(全部使用 Outlook Express)。我已将 HTML 电子邮件转发到此帐户(来自 gmail 和 Outlook Express),它们显示得很好。所以 Outlook Express 版本绝对可以显示 HTML 电子邮件。
现在,在这些失败的情况下,Outlook Express 会忽略邮件标题的重要部分。我实际上可以看到这一点:当我查看电子邮件的原始来源时,它显示了粗体部分 - 标题 - 和非粗体部分 - 正文。
以下是电子邮件。我已经编辑了一些“个人”部分。
这部分以粗体显示,被 Outlook Express 识别为标题:
DomainKey-Status: no signature
Received: (qmail xxxx invoked by uid xxx); 22 Dec 2008 21:04:33 +0100
To: xxxxxxxxxxxxxxxxxx
Subject: Test
Date: Mon, 22 Dec 2008 21:04:33 +0100
并且这部分不是粗体,而是显示在 Outlook Express 的邮件内容面板中。
From: Root User <xxxxxxxxxxxxxxxxxxxxxx>
Message-ID: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Priority: 3
X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.3]
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_cb79043f473b53e87bfa759755fce3ce"
--b1_cb79043f473b53e87bfa759755fce3ce
Content-Type: text/plain; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
test
--b1_cb79043f473b53e87bfa759755fce3ce
Content-Type: text/html; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
<p>Test</p>
--b1_cb79043f473b53e87bfa759755fce3ce--
【问题讨论】:
-
失败的客户端是否使用 Outlook 2007?某些客户端是否一直失败,或者某些客户端有时工作有时失败?
-
我可以在 Outlook Express 6 Build 6.00.2900.5512 上重现它,但仅限于特定的电子邮件帐户,而且它只会在我的邮件中失败(但始终如此)。转发到此帐户的其他 HTMl 电子邮件工作正常。
-
如果选择“显示 HTML”会发生什么? (control-shift-H)