phpmailer中的收件人姓名编码

recipient name encoding in phpmailer

拜托,我需要帮助,因为这个问题真的让我丧命...... 当我使用 PHPMAILER 在 Wamp 服务器上使用本地主机发送非英文文本的电子邮件时,接收方按原样显示电子邮件(正文和主题)但 TO 名称显示为数字和哈希(符号),此名称来自POST[]

现在,如果我将文本直接写入变量,那么它会按原样接收($variable='Arabic name';)这会正确发送(名称 TO 为真)。 这是我从 POST!

获取名称时得到的结果
from:correct in any language<my@gmail.com>
reply-to:   Information <info@example.com>
to: "&#1605;&#1581;&#1605;&#1583;" <my@gmail.com>

我不知道为什么收件人名字会被转换成那样的符号。

$mail->CharSet = 'UTF-8';
$mail->Encoding     = "base64";

正如我上面提到的,所有电子邮件元素(正文、主题和发件人姓名)都是正确的。

您可以尝试使用 html_entity_decode 将其转换回普通字符串。

$normalString = html_entity_decode($_POST['to']);