PHPMailer 和西班牙语字符

问题描述 投票:0回答:1

我无法正确显示电子邮件中的西班牙语特殊字符。我使用的是 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 ”; 但仍然无法正确显示。

special-characters
1个回答
0
投票

使用 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';
© www.soinside.com 2019 - 2024. All rights reserved.