当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-12-10 15:59:57 浏览: 评论:0 

mail函数是php自由的一个邮件发送函数了,但有人在使用mail发邮件时出与标题也内容乱码问题了,那么此问题如何处理呢.

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

先用函数base64_encode() ? 使用 MIME base64 对数据进行编码

标题字符串前加编码类型例如: =?UTF-8?B?

标题字符串后加:?=

邮件header说明Content-type ? 防止邮件正文也乱码

首先在报文头加入声明.

  1. //如果你的网站是GBK,下面将utf-8改为gbk 
  2. $headers  = 'MIME-Version: 1.0' . "\r\n"
  3. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"
  4. //phpfensi.com 
  5. 然后在需要使用中文的地方将中文进行如下转移 
  6.  
  7. //如果你的网站是GBK,下面将utf-8改为gb2312 
  8. //例如标题 
  9. $subject = "新密码通知信"
  10. $subject = "=?UTF-8?B?".base64_encode($subject)."?="
  11. //例如发件人 
  12. $headers .= 'From: =?UTF-8?B?'.base64_encode("某某网站").'?=<service@apieye.com>' . "\r\n";

Tags: mail函数 php发邮件

分享到: