在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送utf-8编码格式的中文电子邮件。本文不涉及gbk编码或者gb2312编码格式的中文邮件。 解决这个其实是很简单的。请读下面的代
在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题。
如何发送中文邮件时没有乱码?在这里我将告诉你如何发送utf-8编码格式的中文电子邮件。本文不涉及gbk编码或者gb2312编码格式的中文邮件。
解决这个其实是很简单的。请读下面的代码。引用你的电邮标题为’=?utf-8?b?’和’?=’。
你可以选择使用html编辑你的邮件内容,只是别忘了使用utf-8字符编码。
邮件header内容mime-version: 1.0mime版本(mime-version),这个头部域在邮件消息的报文用一个版本号码来指明消息遵从的mime规范的版本。目前版本是1.0。
content-type: text/html; charset=utf-8;支持html格式,utf-8编码。
content-transfer-encoding: 8bit
内容传输编码,8位元ascii码。
x-mailer: lixiphp
发送邮件的系统名,可以随便写。
from: =?utf-8?b?发送邮件人的姓名?= 发送的邮件地址
to: =?utf-8?b?接受邮件人的姓名?= 接受的邮件地址
subject: =?utf-8?b?邮件标题?=邮件标题
通过查看邮件的源代码,我可以看到:
php mail代码public function send_email($to, $from, $subject, $message, $fromname = ”, $toname=”) {
if($toname) {
$to = ‘=?utf-8?b?’.base64_encode($toname).’?= ‘ . $to;
}
if($fromname) {
$from = ‘=?utf-8?b?’.base64_encode($fromname).’?= ‘ . $from;
}
$headers = ‘from: ‘.$from.\r\n.
mime-version: 1.0\r\n .
content-type: text/html; charset=utf-8; format=flowed\r\n .
content-transfer-encoding: 8bit\r\n .
‘x-mailer: php/’ . phpversion();
$subject = ‘=?utf-8?b?’.base64_encode($subject).’?=’;
//send email
mail($to, $subject, $message, $headers);
}
这是一个简单的utf-8邮件发送功能,它把头部信息中的中文通过加密来解决中文乱码的问题。
(...)
read the rest of 解决php mail发送utf-8中文邮件乱码 (3 words)
© lixiphp for lixiphp, 2013. | permalink | no comment |add to del.icio.us
post tags: mail, php, utf8
feed enhanced by better feed from ozh