Outlook Express无法识别*某些* HTML电子邮件 [英] Outlook Express is not recognizing *some* HTML emails

查看:67
本文介绍了Outlook Express无法识别*某些* HTML电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用HTML电子邮件发送客户的新闻稿.不是一种不使用HTML邮件的选项.我使用PHPMailer进行邮件发送,但是我也尝试过直接使用PHP的mail()函数.在这两种情况下,我都会遇到以下相同的问题.我尝试过发送多个部分以及仅发送HTML版本.

I'm using HTML emails for a client's newsletter. Not using HTML mails is not an option. I've used PHPMailer for mailing, but I've also tried using PHP's mail() function directly. In both instances, I get the same problem described below. I've tried sending as multipart as well as sending just the HTML version.

在我尝试过的每个电子邮件客户端中,电子邮件到达都很好.我的意思是,该电子邮件被识别为HTML电子邮件,并且呈现了内容. Outlook Express 上的某些帐户除外.我无法辨别为什么它对某些人有用,为什么它对其他人不可用(全部使用Outlook Express).我已经将HTML电子邮件转发到该帐户(从gmail以及从Outlook Express)到这些帐户,它们显示得很好.因此,Outlook Express版本绝对可以显示HTML电子邮件.

In every email client I tried, the emails arrive just fine. By that I mean the email is recognized as an HTML email and the content is rendered. Except on some accounts on Outlook Express. I've not been able to discern why it works for some people and why it doesn't work for others (all using Outlook Express). I have forwarded HTML emails to this account (from gmail as well as from outlook express) and they show up just fine. So the Outlook Express version is definitely capable of showing HTML emails.

现在,在这些失败的情况下,Outlook Express将忽略邮件头的重要部分.我实际上可以看到这一点:当我查看电子邮件的原始来源时,它以粗体显示了一部分-标头-而不是粗体显示了该正文.

Now, in these failing cases, the Outlook Express ignores a significant part of the mail header. I can actually see this: when I view the original source of the email, it shows a part in bold - the header - and a part not in bold - the body.

下面是电子邮件.我已经删除了一些个人"部分.

Below is the email message. I've redacted some "personal" parts.

此部分以粗体显示,被Outlook Express识别为标题:

This part is in bold, recognized by Outlook Express as the header:

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的邮件内容面板中.

And this part is not in bold, and shows up in the mail content panel of 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--

推荐答案

好的,我想我已经解决了这个问题.标头中的各行用\ r \ n分隔,显然Outlook希望它们仅用\ n分隔.甚至PHPMailer似乎都这样做,所以我现在正在使用PHP的mail()函数.

Okay, I think I solved the problem. The various lines in the header were separated by \r\n and apparently Outlook expected them to be separated by \n only. Even PHPMailer seems to do this, so I'm using PHP's mail() function now.

这篇关于Outlook Express无法识别*某些* HTML电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆