用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刷新页面_小伙利用Python制作浏览器,网友点评这小伙将来要进腾讯
  2. tensorflow 2
  3. 德国颁发抄袭大奖,中国包揽前10名拿了大满贯!
  4. 祝福我的朋友们五一玩的开心!
  5. 信号量与条件变量的区别
  6. 交互 点击变色_这个95%的人都没用过的PPT功能,几分钟帮你做出发布会级的交互动画...
  7. [Redis6]常用数据类型_Zset有序集合
  8. emlog-博客定制版lu1.3主题模板
  9. 电芯容量在前期循环中容量增加_了解移动电源聚合物电芯,这篇文章就够了
  10. Active Directory证书服务
  11. iOS 真机调试 Bundle Identifier
  12. 创业公司期权如何运作
  13. 20164305徐广皓 - Exp1 PC平台逆向破解(5)M
  14. CentOS中使用VeraCrypt(四):进阶操作
  15. android 自动签名工具下载,安卓批量签名工具使用说明
  16. Ubuntu 16.04解决双系统时间冲突问题
  17. d3dcompiler_43.dll缺失怎么修复方法_d3dcompiler43dll丢失怎么解决
  18. Python---day7作业
  19. PCIe设备驱动demo
  20. 数字识别digits.png研究2

热门文章

  1. H.264码流解析 一个SPS的nalu及获取视频的分辨率
  2. L2-007 家庭房产 (25 分)
  3. 每日一题 PAT 甲级1001 格式化输出
  4. while循环 dowhile循环 for循环(C++)
  5. NYOJ题目79-拦截导弹(最长递减子序列)
  6. 【目标检测】mAP评价标准
  7. NYOJ116----线段树树状数组
  8. php ftp上传文件 源码,PHP FTP上传文件
  9. matlab中ifelse能嵌套吗,MATLAB嵌套if-else语句
  10. string equals java_Java equals比较方法(Java StringEquals)