下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 PHP发送UTF-8编码中文邮件标题乱码的解决

PHP发送UTF-8编码中文邮件标题乱码的解决.doc

PHP发送UTF-8编码中文邮件标题乱码的解决

彭劳谦
2017-09-02 0人阅读 举报 0 0 暂无简介

简介:本文档为《PHP发送UTF-8编码中文邮件标题乱码的解决doc》,可适用于综合领域

PHP发送编码中文邮件标题乱码的解决当我们使用下面的PHP语句发送中文电子邮件的时候会发现邮件的标题是乱码而邮件正文却是正确的如何才能使得邮件标题不是乱码呢?使用PEAR的Mail类PEAR的Mail类可以让你选择使用sendmail或者SMTP方式发信这样的包装好的接口很好用你没有必要去自己重新发明轮子。关于headers中subject的乱码不要把任何除了iso编码之外的文字直接放进subject正确的方式是让subject里头的文字符合RFC的规范假设你的subject处的文字的编码是GB那么正确的subject应该是这样的格式$headers'subject'='=GBB'baseencode('标题文字')'='如果是的话把上面开头的GB替换成即可。推荐在标题处使用GB编码因为MTA的分化实在是严重大部分的MSP使用的都是自己开发的MTA而相信国内的大部分MTA无论如何都是可以支持GB编码的。而如果是发送到国外的MSP则推荐你在subject处使用经过base编码的文字因为他们很可能不支持GB编码。一定在headers中添加contenttype电子邮件的headers中的contenttype处类似网页的也是textplaincharset=gb这样的格式。这个选项主要对收邮件的客户端有意义可以避免在客户端出现乱码部分的Webmail也会根据这里的设置对邮件的内容进行编码转换以正确显示。你可以设想一下你用gb编码发到comtw的邮箱时候的情况。对你用来发送邮件的主机进行正确配置o一定配置反向解析因为大部分的非固定IP都无法做反向解析部分反垃圾邮件策略以此作为判断依据。o一定配置MX解析道理同上。o确保你的returnpath是能够收到退信的否则你的邮件发送服务器可能会进入接收端的黑名单。$subject=stripslashes($thepost'Title')$headers="MIMEVersion:rn"$headers="Contenttype:textplaincharset=rn"$headers="ContentTransferEncoding:bitrn"$message=stripslashes(striptags($thepost'Content'))mail($to,$subject,$message,$headers)先用函数baseencode()使用MIMEbase对数据进行编码标题字符串前加编码类型例如:=B标题字符串后加:=例如:$subject="=B"baseencode($subject)"="将上面一句添加到代码之中这样发送的中文邮件标题就不是乱码了。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/3

PHP发送UTF-8编码中文邮件标题乱码的解决

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利