我无法正确显示电子邮件中的西班牙语特殊字符。我使用的是 PHPMailer 6.6.0 版本。
我在我的项目中尝试了以下操作,但出现错误: $mail = 新的 PHPMailer; $mailer->CharSet = 'utf-8'; 未捕获的错误:尝试在...中的 null 上分配属性“CharSet”
和
$mail = 新的 PHPMailer; $mailer->Encoding = 'quoted-printable'; 未捕获的错误:尝试在...中的 null 上分配属性“编码”
我也尝试过 $headers =“MIME 版本:1.0 ”; $headers .=“内容类型:text/html;字符集=UTF-8 ”; 但仍然无法正确显示。
Outlook 中显示的内容示例:评论:S?bado Ma?ana
如果我从 Thunderbird 发送“Sábado”和“Mañana”,它们会在 Thunderbird 和 Outlook 中正确显示。
寻找对别人有用的方法对我来说不起作用。是否可以在电子邮件中正确显示其他语言的特殊字符?如果是,我需要做什么才能让它在我的项目中运行?
我也尝试过 $headers =“MIME 版本:1.0 ”; $headers .=“内容类型:text/html;字符集=UTF-8 ”; 但仍然无法正确显示。
使用 Composer 运行 PHPMailer
composer require phpmailer/phpmailer
将 PHPMailer 类导入全局命名空间
这些必须位于脚本的顶部,而不是函数内部
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
加载 Composer 的自动加载器
require 'vendor/autoload.php';
创建实例;传递
true
启用例外
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';