目前使用PHP5和htmlMimeMail 5(http://www.phpguru.org/static/mime.mail.html)发送HTML电子邮件通信。一直有许多收件人的问题,看到随机字符被替换为等号,例如:
“很好。我们学校正在通过一家名为......的公司发送我们的通讯=和信息。”
已将电子邮件文本,HTML和标头编码设置为UTF-8。 PHP为电子邮件加载的模板文件(只包含()'d文本/ HTML,其中包含几个php标签)都以UTF-8编码。
有趣的是,我不能在我的任何电子邮件客户端上复制问题,并且无法通过搜索指向我的问题的yahoo / googlies找到任何信息!!
答案 0 :(得分:2)
尝试使用8位编码进行发送:
$message->setTextEncoding(new EightBitEncoding());
$message->setHTMLEncoding(new EightBitEncoding());
答案 1 :(得分:1)
我有类似的问题,但我的情况有点不同。由于我偶然发现这个帖子正在寻找答案并帮助我找到答案,我想我也可以在这里发布这个相关的答案。
在我的情况下,即使通过发送的文本字符串的实际mb_detect_encoding为“UTF-8”,特殊字符也会在电子邮件中混乱,如果我回复它们,它们看起来很好。
所以我不得不使用函数
$message->setTextCharset('UTF-8')
和
$message->setHTMLCharset('UTF-8')
答案 2 :(得分:0)
我怀疑您的问题与旧版本的Exchange有关。 Equal signs at end of line:
它可能不是带高/低位字符或编码的引用可打印的东西。此外,该页面的其他地方也说:
注意: Exchange中的错误(“功能”?) 可能导致换行被替换 富文本邮件时带有相同的标志 被禁用。