解决使用php中mail函数发邮件主题乱码

2017-03-08 11:30:43

解决使用php中mail函数发邮件主题乱码
使用php中的Mail函数发送邮件,尽管邮件头加上了Utf-8编码的设置,但某种条件下,用户用邮件客户端软件,比如outlook express收到邮件之后,邮件的主题还有可能是乱码。解决此问题的方法如下:

mail函数的用法一般是:??mail($email,$subject,$contents,$headers);
在这一行之前肯定是有代码定义了$subject。

解决方法就是在定义$subject之后,在mail($email,$subject,$contents,$headers); 之前,增加一句
$subject = “=?UTF-8?B?”.base64_encode($subject).”?=”;

之后再发送,就可以解决邮件主题乱码的问题!

如果是内容乱码问题:
则在发送的头部加入
$headers  = 'MIME-Version: 1.0' . " ";
   $headers .= 'Content-type: text/html; charset=utf-8' . " ";
就行了

邮件里的内容换行用" "."
"
如果是正则匹配的话明明看不到换行,但是就是去不掉换行的东西,那是因为页面里有默认的"/n"是看不到的,要把这个也去掉

发表评论:

Powered by PHP 学习者(mail:517730729@qq.com)

原百度博客:http://hi.baidu.com/ssfnadn

备案号:闽ICP备17000564号-1

开源中国 PHPCHINA