我正在尝试通过PHPMailer(5.2)发送unicode表情符号,但我发送的电子邮件收到了奇怪的字符而不是emojis。
我正在发送HTML电子邮件,我只是echo
一个包含一些utf-8表情符号的字符串,并检查字符串似乎正确打印的电子邮件源。例如:
echo "";
产生
=F0=9F=98=81
在电子邮件源代码中(应该没问题)。
答案 0 :(得分:6)
事实证明,PHPMailer默认情况下在HTML电子邮件中使用charset = iso-8859-1(在您将找到Content-Type: text/html; charset=iso-8859-1
的电子邮件标题中,您应该使用UTF-8:Content-Type: text/html; charset=UTF-8
。< / p>
您可以通过执行以下操作在PHPMailer中设置charset:
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
答案 1 :(得分:0)
我需要使用稍有不同的内容:
$mail = new PHPMailer();
$mail->CharSet = 'utf-8';