phpmailer是一个很有名气收发邮件类代码。

只有两个文件。

但是因为phpmailer是老外写的,用来发中文的邮件,总是出现乱码。经过从网上上收集的资料,我也是这么解决。

一个一个乱码的问题修复。

第一:修改邮件内容乱码:

class.phpmailer.php 页:

查找:function EncodeHeader ($str, $position = 'text') {
修改成:

function EncodeHeader ($str, $position = 'text', $pl = 0) {

if ( $pl ) return "=?" . $this->CharSet . "?B?" . base64_encode($str) . "?=";

这样就为这个函数多定义的一个参数。

自然要修改所有调用这个函数的地方的参数。

查找:EncodeHeader(

如下类似这样的都要改:

$result .= $this->HeaderLine("Subject", $this->EncodeHeader(trim($this->Subject)));

改成这样:

$result .= $this->HeaderLine("Subject", $this->EncodeHeader(trim($this->Subject),'text', 1));

意思是定义第三个参考为1,好可以调用我们改的函数里的那个判断语句。

改了这里,当然你要记得在调用这个类的时侯,设置CharSet=UTF8啊。这样,这个判断语句才能转UTF8不乱码了。

像我的可以这么写的:

$mail = new PHPMailer();

$mail->CharSet = "utf8";

第二:修复邮件标题乱码

Subject是处理邮件标题,你要找准这个地方了。像我的是这样调用了

$mail = new PHPMailer();

$mail->Subject="某某标题";

那么,像这样的,你要改成这样:

$mail->Subject = "=?utf-8?B?".base64_encode("某某标题")."?=";

也是转码啊。

第三:修复其他地方乱码

基本原理跟第二个修复一样的。

FromName是处理发件人来着。

找到发件人姓名的地方:

我的是这样写的:

$mail = new PHPMailer();

$mail->FromName = "=?utf-8?B?".base64_encode("黄牌网络客户网上留言】")."?=";

搞定这三个地方,应该就不会再有问题了。其他地方还有乱码你自己找找看了。

如果你是一个懒人。那就下载我处理好的这个:
PHPMailer文件吧。

附件下载:
phpmail.rar 24.39KB
标签: PHPMailer收发邮件乱码,PHPMailer标题乱码,PHPMailer内容乱码,PHPMailer发件人乱码

彻底解决PHPMailer收发邮件邮件标题邮件内容发件人乱码的问题相关推荐

  1. 解决phpmailer在阿里云无法发邮件

    # 解决phpmailer在阿里云无法发邮件 好好的PHP发邮件代码,在局域网是正常的,上传到阿里云平台,就发不出去邮件. 原来,现在阿里云25端口管理的很严格,要申请通过难度太大,所以很有可能25端 ...

  2. 解决使用SQLServer2008R2的“sp_send_dbmail”发邮件,当邮件标题、内容中有中文时就会变成“?”的问题

    问题:使用SQLServer2008R2的"sp_send_dbmail"发邮件,当邮件标题.内容中有中文时就会变成"?". 分析: 经过分析是因为安装数据库的 ...

  3. 公文签收 php,用PHPMailer收发邮件

    附件: phpmailer 中文使用说明(简易版) A开头: $AltBody--属性 出自:PHPMailer::$AltBody 文件:class.phpmailer.php 说明:该属性的设置是 ...

  4. php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...

    php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:1.将subject里头的文字符合RFC 2047的规范:2.在headers中添加[content-type]:3.对用来发送邮件 ...

  5. php 邮件乱码,解决PHP mail发送UTF-8中文邮件乱码

    在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题. 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件.本文不涉及GBK编码或者GB2312编 ...

  6. 189邮箱收发件服务器,收邮件-帮助中心-中国电信189邮箱

    收邮件 我怎么收取他人给我发的邮件呢? 在登陆邮箱后,您可以点击邮件列表上 "未读邮件"直接进入收件箱查看全部未读邮件,您也可以点击"进入收件箱"查看所有邮件. ...

  7. 解决PHP mail发送UTF-8中文邮件乱码

    在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题. 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件.本文不涉及GBK编码或者GB2312编 ...

  8. 发html邮件乱码 java,Java发送邮件时标题和发件人乱码

    # Java发送邮件时标题和发件人乱码 最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码 通过翻阅资料,原因及解决方法如下: ``` // Set Subject: 头 ...

  9. Outlook html 图片白色空白,outlook签名设置_解决Outlook中的签名和邮件图片都显示空白的办法_outlook邮件空白...

    Outlook中的签名和邮件图片都显示空白 1.打开"文件". 2.点击"选项". 3.点击"邮件". 4.点击"编辑器选项&qu ...

最新文章

  1. 第一章 java nio三大组件与使用姿势
  2. [算法]链表的逆序遍历节点
  3. Windows 安装redis
  4. Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库...
  5. ant+jmeter
  6. [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC
  7. 0 win10重装partition_教你在安装WIN10系统中所遇到问题处理方法
  8. C语言程序设计二期末考试,C语言程序设计期末考试试卷2.doc
  9. 【Spring】Spring 如何更改动态更改运行中某个类的日志级别
  10. TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
  11. 【转】Mac下升级python2.7到python3.6
  12. 四款主流同步软件介绍
  13. MATLAB机器学习系列-10:遗传算法原理及其matlab遗传算法工具箱使用
  14. 一篇价值过百万的日志
  15. A Deep Journey into Super-resolution: A Survey阅读
  16. 区块链是如何存数据的?
  17. 读研攻略(7)—从0到1,研究生第一篇SCI的诞生
  18. 《禅与摩托车维修艺术》骑行路上的哲学思考
  19. 苹果玩对峙2显示打不开服务器,苹果对峙2为什么进不去
  20. 农银e管家怎么显示服务器不对,农银e管家APP

热门文章

  1. 科普 | 你的睡眠质量达标了吗?
  2. 王幼军:拉普拉斯概率理论的历史研究
  3. 【Android 学习】实现仿360悬浮窗
  4. dom4j在特定位置添加节点
  5. TensorFlow 训练模型保存四个文件
  6. 郑东新区龙岗小学师生赴中医药文化体验馆体验学习
  7. Spring初识(四)——AOP1
  8. 3.9 - 正规表达式和正规集 3.10 - 有限自动机
  9. 记录:笔记本外接键盘(艾石头FE87)win键失灵解决方法
  10. iphone5S 或推迟发布