【phpstudy】php mail函数发邮件标题和发件人乱码

更新时间:2019-11-11    来源:邮件    手机版     字体:

【www.bbyears.com--邮件】

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

先用函数base64_encode() ? 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
标题字符串后加:?=
邮件header说明Content-type ? 防止邮件正文也乱码

首先在报文头加入声明

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

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

//如果你的网站是GBK,下面将utf-8改为gb2312
//例如标题
$subject = "新密码通知信";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
//例如发件人
$headers .= "From: =?UTF-8?B?".base64_encode("某某网站")."?=" . "\r\n";

本文来源:http://www.bbyears.com/jsp/78568.html

热门标签

更多>>

本类排行