PHP Unicode 电子邮件

Posted

技术标签:

【中文标题】PHP Unicode 电子邮件【英文标题】:PHP unicode email 【发布时间】:2012-07-07 18:20:31 【问题描述】:

我想使用 php 发送一封主题为日文字符的电子邮件。 我可以在发件人中使用日本字符发送,但是当我在主题中使用它时 电子邮件收不到。 我该如何解决这个问题。请帮忙。

谢谢, 吉普

【问题讨论】:

似乎与***.com/questions/4389676/…重复 你试过utf8_encode(),或者mail_utf8()吗? 【参考方案1】:

First result of google(用于“php unicode 电子邮件”)

代码如下:

$headers['To'] = $to;
$headers['From'] = $from;
$headers['Content-Type'] = "text/plain; charset=utf-8";
$headers['Content-Transfer-Encoding'] = "8bit";
$b64subject = "=?UTF-8?B?" . base64_encode($subject) . "?=";
$headers['Subject'] = $b64subject;

$mail = Mail::factory('sendmail', array('host' => $host, 'port'=>$port));
$retval =  $mail->send($to, $headers, $body);

【讨论】:

=& 已过时。此外,很快,this 将成为 google 上“php unicode mail”的第一个结果 非常感谢 SinistraD。我会试试这个。 @Truth 哈哈,你是对的,但我只是指出,有时候用谷歌搜索会更容易【参考方案2】:

使用 PHPmailer 库,我在使用 UTF8 字符时从未遇到过问题。 http://phpmailer.worxware.com/

【讨论】:

好的 MrRP。非常感谢。我会努力的。 PHPMailer 是个好技巧!最新版本here.

以上是关于PHP Unicode 电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

PHP Mailparse 阻塞非 ASCII 字符

php-pear邮件UTF-8编码

smtplib 在 Python 3.1 中发送带有 unicode 字符的邮件的问题

邮件请求的“正文”始终为unicode

boto3 ses InvalidParameterValue 错误由于 unicode 字符

Unicode的流言终结者和编码大揭秘