Jan 1

PHP发邮件(Mail_Mime)标题乱码的解决方法 晴

, 08/01/01 16:42 , 技术开发 » PHP , 评论(0) , 引用(0) , 阅读(2963) , Via 本站原创 | |
前两天发现,PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。
解决方法如下:
先用函数base64_encode() — 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
标题字符串后加:?=
邮件header说明Content-type — 防止邮件正文也乱码
Array
PEAR::Mail_Mime函数发邮件,主题的地方会显示成乱码。
查询了一下,原来是Mail_mime访求的_encodeHeaders方法有bug。据说目前最新的版本1.56已修正。
且在$_build_params数组中增加一個'head_encoding’,将它设置成了'base64',
'head_charset’,设置成'UTF-8′,中/日文等就不会出现乱码了。
Array

使用SGL_Emailer发送邮件也会出现上面的文件,修改lib/SGL/Emailer.php,加上head_encoding=base64就正常了:
Array

作者:@Everyday NetLog
地址:http://blog.zhoz.com/read.php?142
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]