用CI框架发送邮件类 在中文标题太长的情况下会出现乱码,搜索后说是发送邮件的时候有标题长度的限制,按说的方法修改后,还是没能得到解决,后来发现需要转换邮件标题的编码,解决方法如下:

打开 libraries/Email.php  找到:function subject($subject)

public function subject($subject)

{

$subject = $this->_prep_q_encoding($subject);

$this->_set_header('Subject', $subject);

return $this;

}修改为:

public function subject($subject)

{

//$subject = $this->_prep_q_encoding($subject);

$subject = '=?'. $this->charset .'?B?'. base64_encode($subject) .'?=';

$this->_set_header('Subject', $subject);

return $this;

}下面是发送邮件的代码:

function mail(){

$this->load->library('email');

$config['protocol'] = 'smtp';

$config['smtp_host'] = 'ssl://smtp.gmail.com';

$config['smtp_user'] = 'XXXXXXXXXX@gmail.com';

$config['smtp_pass'] = 'XXXXXXXXXXXXX';

$config['smtp_port'] = '465';

$config['smtp_timeout'] = '5';

$config['newline'] = "\r\n";

$config['crlf'] = "\r\n";

$this->email->initialize($config);

$this->email->from('XXXXXXXXXX@gmail.com');

$this->email->to('123123123123@qq.com');

$this->email->subject("北极bear北极bear北极bear北极bear北极bear北极bear北极bear北极bear北极bear北极bear北极bear");

$this->email->message('哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈');

$this->email->send();

echo $this->email->print_debugger();

}上面的解决方案,我将CI默认的对邮件标题(Subject)的编码方式从 Q-Encoding (简称 Q编码)变成了 Base64 (简称 B编码),希望能对大家有所帮助。如有问题欢迎留言讨论。

本文地址:http://www.it300.com/article-8047.html

ci框架 乱码 mysql_CodeIgniter(CI)发邮件标题中文乱码解决方案相关推荐

  1. log4j 发邮件(解决中文乱码)

    关于log4j发邮件的功能,就是在项目上线使用后,为了更好的维护系统,我们可以将记录项目情况的log以邮件形式发送给administor,及时了解系统遇到的问题.并且及时修正,更高效方便. 准备流程: ...

  2. java 中文乱码过滤器_JAVA中文乱码过滤器(用java过滤器解决中文乱码)V0422 整理版...

    JAVA中文乱码过滤器(用java过滤器解决中文乱码)V0422 整理版 不用再担心java中文乱码问题,一步到位,一次性解决.更方便更快捷. web-xml配置 EncodingFilter com ...

  3. java 读写文件乱码_Java 解决读写本地文件中文乱码的问题

    Java 解决读写本地文件中文乱码的问题 前言: 在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码.原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式.通 ...

  4. python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题

    python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题 问题描述--python 使用zipfile模块 读取并且解压缩包,出现中文乱码问题 问题原因 python 使用这个模块 ...

  5. mysql 存json中文乱码怎么设置_解决 MySQL 中文乱码

    想要解决MySQL中文乱码首先必须了解下MySQL所支持的字符集,至于中文乱码出现的原因可以总结为:向数据库中插入的数据与数据库中的表所使用的字符集编码不同 一 . MySQL 中文字符集 常见支持中 ...

  6. System.Net.Mail发邮件标题过长出现乱码问题

    在做项目时候,用到.Net的System.Net.Mail发送邮件,经测试,发现如果标题过长,收到的就会是乱码了(那种Base64格式的数据),几经测试,发现只能放60个中文汉字,多一个标点就出问题, ...

  7. javaEmail发邮件是问号乱码,已解决

    寒假学习了ssm,就把之前看过的一个商城项目用ssm重构了. 然后在本地一切都正常,放到个人服务器上就凉了. 因为这个项目注册需要邮箱激活,然后就在发邮件的时候出了问题. 一.发送端口 因为源程序是用 ...

  8. php中ci框架分页,Codeigniter(CI)框架分页函数及相关知识

    一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起: /** * 获取分页数据及总条数 * ...

  9. java输出的汉字变成乱码_Java Web项目中解决中文乱码方法总结

    一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...

  10. java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总

    Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存 ...

最新文章

  1. Python assert断言函数及用法
  2. Pytorch实践中文教程(1)
  3. 分析jQuery源码时记录的一点感悟
  4. jakarta ee_Jakarta EE中的规范范围
  5. Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
  6. 百度 71 个炸天的开源项目!你知道几个?--ECharts UMeditor Ueditor ZRender
  7. 免匙SSH登录失败问题(非常规)
  8. cmd 卸载mysql_彻底卸载MySQL图文教程
  9. 计算机毕业设计抄袭,研究生毕业设计抄袭他人作品,通报来了!
  10. 傅一平:业务流程的数字化到底是什么?
  11. 三十、动名词短语 2
  12. iphone手机配置qq邮箱服务器设置,在iPhone中如何设置qq邮箱
  13. 自主招生计算机网测考什么,自主招生考试内容有哪些 考哪几门
  14. 法定节假日加班没给三薪是不是犯法的
  15. 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
  16. SketchUp: Modeling from Photos SketchUp教程:从照片建模 Lynda课程中文字幕
  17. Parallels Desktop 安装 Windows10 提示“安全启动功能防止操作系统启动”怎么解决?
  18. 小新PadPlush刷MIUI教程
  19. Linux虚拟机的远程三种链接,以及各自的上网方式
  20. [HCTF 2018]admin 1

热门文章

  1. WebRTC学习资料大全
  2. 拓扑排序那点事(vector+priority_queue)
  3. 计蒜客-跳跃游戏(贪心)
  4. ICRA2021会议-----SLAM方向汇总
  5. html小作业--新闻栏目
  6. 计算机第四次评估报告,建议置顶,天天那么多问计算机的。看看第四轮评估的结果。...
  7. matlab线性回归s和2,数据回归分析和拟合的matlab实现2.doc
  8. linux远程搭建web环境,使用Xshell工具远程Linux环境部署web项目
  9. python进程join会让程序线性执行_python 多进程没有并发执行是怎么回事?
  10. python wechat flask_python3+flask不能解析消息