秀米云香港服务器

公司里一个小项目,需要用php定期统计当前未解的bug,并通过邮件的方式发送出来

bug统计使用的是php + postgres 邮件是使用sendmail

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

采用的方式是:

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. 用查找替换将

换成