解决sendmail发送中文utf-8 html文件泛起的乱码的问
日期:2014-12-28 / 人气: / 来源:网络
公司里一个小项目,需要用php定期统计当前未解的bug,并通过邮件的方式发送出来
bug统计使用的是php postgres 邮件是使用sendmail
采用的方式是:
1. 首先使用php run sql查询,生成utf-8格式的html文件
2. call命令行发送email
/usr/sbin/sendmail xxx@xxx.com < /var/www/gforge/www/xxx.html
其中/usr/sbin/sendmail是sendmail的路径
< 之后的是生成的html
3. 使用crontab将相应的脚本文件做定期执行
==========================================
1,3执行起来都没有问题
在进行2的时候,发现发出来的邮件都被随机的莫名其妙的加上了一些英文感叹号!
导致看上去非常怪。
Debug过程:
1. 开始以为是脚本生成时产生的问题,但是发现生成的html本身并没有这些符号。
2. 于是将邮件导出为eml格式,然后用notepad 打开。打开后发现,每个!都出现在行尾,于是..猜测可能这个问题的原因应该是sendmail对中文字符做强制换行时出现的问题
3. 打开生成的html看,发现程序员那边确实再每个div之间没有用rn做物理换行
4. 用查找替换将</div>换成</div>rn(notepad 支持在替换时加换行符)
再次执行发送,这次邮件就没有乱字符了。
=========================================
总结:
如果要用sendmail来发送html文件,最好人为做一些换行
Postfix dovecot MySQL Postfixadmin roundcube邮件服务器的部署
导读:这篇文章介绍一个实现Web收发的邮件系统方案,利用postfix作为SMTP服务器,实现邮件的发送与接收,使用dovecot作为IMAP服务器,roundcube作为webMUA(邮件用户代理),实现web在线邮件发送与接收。而postfix的虚拟域名和虚拟用
MySQL教程,postfix,dovecot,dovecot
作者:管理员
推荐内容 Recommended
- 江苏飞浩信息科技期待您的加入07-20
- 江苏飞浩科技欢迎您07-19
相关内容 Related
- 江苏飞浩信息科技期待您的加入07-20
- 江苏飞浩科技欢迎您07-19