Character encoding PHPMailer:AltBody(消息的纯文本版本)始终使用us ascii字符集

Character encoding PHPMailer:AltBody(消息的纯文本版本)始终使用us ascii字符集,character-encoding,phpmailer,Character Encoding,Phpmailer,我正在使用PHPMailer(版本5.2.22)发送消息 我提供了电子邮件的HTML版本和纯文本版本 这是相关部分: $mailer->CharSet = 'utf-8'; $mailer->WordWrap = 80; $mailer->IsHTML( true ); $mailer->Subject = $subject; $mailer->Body = $html; $mailer->

我正在使用PHPMailer(版本5.2.22)发送消息

我提供了电子邮件的HTML版本和纯文本版本

这是相关部分:

 $mailer->CharSet    = 'utf-8'; 
 $mailer->WordWrap   = 80;      
 $mailer->IsHTML( true );       

 $mailer->Subject    = $subject;
 $mailer->Body       = $html;
 $mailer->AltBody    = $text;
尽管我将
utf-8
指定为字符编码,但纯文本版本是用
usascii
编码的(HTML版本是可以的)

如果我查看收到的电子邮件来源,我会读到:

 Content-Type: text/plain; charset=us-ascii

就在消息的纯文本版本之前。

该问题已在PHPMailer 6中修复

使用版本
6.0.2


尽管如此,如果消息的纯文本版本可以用ASCII字符集表示,那么编码将安全地降级为
us ASCII
,但这是预期行为

我也有同样的问题。你找到答案了吗?我刚刚创建的这篇帖子可能与此相关:@gtilflm不,我没有找到答案。问题出现在
5.2.22
上,我希望以后的版本能解决这个问题。(我还没有迁移到
6.x
)您可能想查看@Syncro对我上面github帖子的回复。@gtilflm谢谢!