PHP Pear Mail 无法发送带有 Unicode 字符的名称

Posted

技术标签:

【中文标题】PHP Pear Mail 无法发送带有 Unicode 字符的名称【英文标题】:PHP Pear Mail Can't Send Name With Unicode Characters 【发布时间】:2011-12-17 09:45:55 【问题描述】:

在我的服务器上,我正在使用 php pear 包,当我发送电子邮件时,我在“名称”字段中输入 unicode 字符,它不会发送.. 当我输入拉丁字符时,它工作得很好。

所以,伙计们,你能帮我配置邮件设置,我也可以在 unicode (utf-8) 字符中使用吗?

代码示例:

$headers = array("From" => "UNICODE NAME HERE <name@email.com>", "Subject" => "my subject");

【问题讨论】:

【参考方案1】:

试试这个(未测试):

$headers = array(
    "Content-Type" => "text/plain; charset=\"UTF-8\"",
    "From" => "=?utf-8?B?".base64_encode($unicode_name)."?=" . " <name@email.com>", 
    "Subject" => "my subject"
);

如果你想在那里使用 UTF-8 字符,你应该对主题做同样的事情。

【讨论】:

以上是关于PHP Pear Mail 无法发送带有 Unicode 字符的名称的主要内容,如果未能解决你的问题,请参考以下文章

linux中php项目无法发送邮件:PEAR mail package is not installed

PHP PEAR send_mail 无法使用名称和电子邮件设置发件人

这个使用 Pear Mail 发送邮件的 PHP 脚本有啥问题?

使用 PHP PEAR MAIL 发送多个 CC 和 BCC

PEAR Mail 无法连接到 Gmail SMTP,无法连接到套接字

PHP Pear Mail 返回致命错误:无法打开所需的“Mail.php”