从2个不同的服务器发送消息时主题(和正文)电子邮件编码的问题

时间:2011-09-01 09:04:14

标签: email unix sendmail

我已经切换了已发送电子邮件的编码,并在此帖中提供了相关补丁:

  

Email from PHP has broken Subject header encoding

它在我们的服务器之一(在Outlook和gmail中)很好用

To: coil@domain.com
Subject: =?UTF-8?B?U3VqZXQgYXZlYyBkw6lzIGFjY8Oow6jDqMOow6jDqMOobnRzIOKCrCAhIQ==?=
Date: Wed, 31 Aug 2011 16:37:38 +0200

主体和身体都可以。

但是在第二台服务器上,有一种奇怪的行为,我得到了这个主题的电子邮件标题:

To: coil@domain.com
Subject: =?US-ASCII?B?PT9VVEYtOD9CP1UzVnFaWFFnWVhabFl5?=
 =?US-ASCII?B?Qmt3Nmx6SUdGalk4T293NmpEcU1Pb3c2akRxTU9vYm5SeklPS0NyQ0FoSVE9?=
 =?US-ASCII?B?PT89?=

似乎主题被重新编码并被强制为US-ASCII,它导致一个不可读的主题,并且UTF8字符在体内丢失。

两台服务器上都使用相同的测试脚本和电子邮件类。

知道这个bug可能来自哪里?

1 个答案:

答案 0 :(得分:0)

该错误是由 mbstring.func_overload 值引起的。它从7变为6,现在它按预期工作。谢谢你的帮助。