PHPMailer:AltBody(消息的纯文本版本)总是us-ascii charset

时间:2017-03-25 22:46:34

标签: 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->AltBody    = $text;

尽管我将utf-8指定为字符编码,但纯文本版本在us-ascii中编码(HTML版本没问题)。

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

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

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

1 个答案:

答案 0 :(得分:0)

此问题已在 PHPMailer 6

中修复

使用版本6.0.2

进行测试

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