php mail函数发邮件标题和发件人乱码问题解决办法

使用mail方法发信时,如果标题或发件人含有中文就会造成乱码,而正文不会。解决办法如下

首先在报文头加入声明

1
2
3
//如果你的网站是GBK,下面将utf-8改为gbk
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

然后在需要使用中文的地方将中文进行如下转移

1
2
3
4
5
6
//如果你的网站是GBK,下面将utf-8改为gb2312
//例如标题
$subject = "新密码通知信";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
//例如发件人
$headers .= 'From: =?UTF-8?B?'.base64_encode("某某网站").'?=<service@apieye.com>' . "\r\n";

本文固定链接: https://www.apieye.com/667.html | APIEYE

该日志由 Jazzy 于2015年01月21日发表在 PHP 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: php mail函数发邮件标题和发件人乱码问题解决办法 | APIEYE
关键字: , ,

php mail函数发邮件标题和发件人乱码问题解决办法:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!