2

目前使用 PHP5 和 htmlMimeMail 5 ( http://www.phpguru.org/static/mime.mail.html ) 来发送 HTML 电子邮件通信。许多收件人看到随机字符替换为等号时遇到问题,例如:

“早上好=ing。我们学校正在通过一家名为...的公司发送我们的时事通讯=和信息。”

已将电子邮件文本、HTML 和标头编码设置为 UTF-8。PHP 为电子邮件加载的模板文件(仅包含()的文本/HTML,其中包含一些 php 标签)都以 UTF-8 编码。

有趣的是,我无法在我的任何电子邮件客户端上复制该问题,并且无法通过搜索 yahoo/googlies 找到任何指向我问题的信息!

4

3 回答 3

2

尝试使用 8 位编码发送:

$message->setTextEncoding(new EightBitEncoding());
$message->setHTMLEncoding(new EightBitEncoding());
于 2009-03-25T21:21:50.633 回答
1

我有一个类似的问题,但我的有点不同。由于我偶然发现了这个线程来寻找答案并且它帮助我找到了它,我想我不妨在这里发布这个相关的答案。

在我的情况下,即使发送的文本字符串的实际 mb_detect_encoding 是“UTF-8”,电子邮件中的特殊字符也会变得混乱,如果我回显它们,它们看起来还不错。

所以我不得不给我们这个功能

$message->setTextCharset('UTF-8')

$message->setHTMLCharset('UTF-8')
于 2010-09-11T03:34:53.477 回答
0

我怀疑您的问题与旧版本的 Exchange 有关。等号在行尾

它可能不是带有高/低顺序字符或编码的引用可打印内容。此外,在该页面的其他地方它说:

注意:在禁用富文本邮件时,Exchange 中的一个错误(“功能”?)可能会导致换行被等号替换。

于 2009-03-25T21:29:45.343 回答