彻底解决PHPMailer收发邮件邮件标题邮件内容发件人乱码的问题
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在阿里云无法发邮件 好好的PHP发邮件代码,在局域网是正常的,上传到阿里云平台,就发不出去邮件. 原来,现在阿里云25端口管理的很严格,要申请通过难度太大,所以很有可能25端 ...
- 解决使用SQLServer2008R2的“sp_send_dbmail”发邮件,当邮件标题、内容中有中文时就会变成“?”的问题
问题:使用SQLServer2008R2的"sp_send_dbmail"发邮件,当邮件标题.内容中有中文时就会变成"?". 分析: 经过分析是因为安装数据库的 ...
- 公文签收 php,用PHPMailer收发邮件
附件: phpmailer 中文使用说明(简易版) A开头: $AltBody--属性 出自:PHPMailer::$AltBody 文件:class.phpmailer.php 说明:该属性的设置是 ...
- php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:1.将subject里头的文字符合RFC 2047的规范:2.在headers中添加[content-type]:3.对用来发送邮件 ...
- php 邮件乱码,解决PHP mail发送UTF-8中文邮件乱码
在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题. 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件.本文不涉及GBK编码或者GB2312编 ...
- 189邮箱收发件服务器,收邮件-帮助中心-中国电信189邮箱
收邮件 我怎么收取他人给我发的邮件呢? 在登陆邮箱后,您可以点击邮件列表上 "未读邮件"直接进入收件箱查看全部未读邮件,您也可以点击"进入收件箱"查看所有邮件. ...
- 解决PHP mail发送UTF-8中文邮件乱码
在这里,我将解决一个问题,也许很多人遇到过,困惑又不知道如何去做的问题. 如何发送中文邮件时没有乱码? 在这里我将告诉你如何发送UTF-8编码格式的中文电子邮件.本文不涉及GBK编码或者GB2312编 ...
- 发html邮件乱码 java,Java发送邮件时标题和发件人乱码
# Java发送邮件时标题和发件人乱码 最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码 通过翻阅资料,原因及解决方法如下: ``` // Set Subject: 头 ...
- Outlook html 图片白色空白,outlook签名设置_解决Outlook中的签名和邮件图片都显示空白的办法_outlook邮件空白...
Outlook中的签名和邮件图片都显示空白 1.打开"文件". 2.点击"选项". 3.点击"邮件". 4.点击"编辑器选项&qu ...
最新文章
- 第一章 java nio三大组件与使用姿势
- [算法]链表的逆序遍历节点
- Windows 安装redis
- Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库...
- ant+jmeter
- [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC
- 0 win10重装partition_教你在安装WIN10系统中所遇到问题处理方法
- C语言程序设计二期末考试,C语言程序设计期末考试试卷2.doc
- 【Spring】Spring 如何更改动态更改运行中某个类的日志级别
- TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
- 【转】Mac下升级python2.7到python3.6
- 四款主流同步软件介绍
- MATLAB机器学习系列-10:遗传算法原理及其matlab遗传算法工具箱使用
- 一篇价值过百万的日志
- A Deep Journey into Super-resolution: A Survey阅读
- 区块链是如何存数据的?
- 读研攻略(7)—从0到1,研究生第一篇SCI的诞生
- 《禅与摩托车维修艺术》骑行路上的哲学思考
- 苹果玩对峙2显示打不开服务器,苹果对峙2为什么进不去
- 农银e管家怎么显示服务器不对,农银e管家APP