1、起因:
想定时检查,数据表中的数据,发现不一致,则发送邮件报警;
2、待发送邮件内容:
productName : xxx instances use different version !
3、问题表现:
发送邮件成功,但是,邮件内容为空白。为何?
4、问题所在:
待发送的内容里有英文 冒号 “:” 没错就是它。由于,冒号对于该命令来说是特殊字符;想发送特殊字符需要转换成Unicode 进行发送 冒号的 unicode 为 “:”
5、解决去掉冒号,或者换成中文冒号。或者 转成 unicode ;ok 了。
5、发送邮件的命令:
contact='xxxxx@163.com'
content='productName : xxx instances use different version !'
echo $content |formail -I "From: xxx@163.com" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=utf8" -I "Subject: your instance use different version!" -I "To:$contact" |/usr/sbin/sendmail -t
echo -e "<div>test : tt</div><br/><div>new line</div>" |formail -I "From: xxx@163.com" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=utf8" -I "Subject:test" -I "To:tttt@163.com" |/usr/sbin/sendmail -t