设为首页 收藏本站
查看: 1040|回复: 0

NAGIOS 使用sendmail发送邮件关于标题乱码的解决方法

[复制链接]

尚未签到

发表于 2015-9-8 10:24:48 | 显示全部楼层 |阅读模式
  公司的nagios报警发送邮件,标题乱码,我在解决问题的时候,发现,只有往公司的新浪企业邮箱发送邮件会产生乱码问题(标题乱码),而向我自己的邮箱(163,qq)发送都不会有乱码的问题,考虑发送邮件和接收邮件,只有发送邮件可以考虑,接收邮件考虑不了(邮箱没有编码。。。。。),所以只能更改配置或者更改邮箱(必须的用企业邮箱),所以只有一个办法了,修改配置;在网上搜了好久看到许多解决办法,其中借鉴了(http://blog.sina.com.cn/s/blog_485acedb0100z51f.html)这篇博客,但是这个方法根本行不通,更改后,nagios报警不会发送邮件,然后我又在这个基础上更改了一下代码,然后就可以了,更改代码如下:
  # 'notify-host-by-email' command definition(OLD)
#define command{
#        command_name    notify-host-by-email
#        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\n状态: $HOSTSTATE$\n主机IP: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\n时间: $LONGDATETIME$\n" | /usr/bin/mail -s "$HOSTSTATE$:$HOSTNAME$" $CONTACTEMAIL$
#        }
#(NEW)-WANGLI
define command{
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\n状态: $HOSTSTATE$\n主机IP: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\n时间: $LONGDATETIME$\n" | /usr/bin/mail -a "Content-Type:utf-8" -s "=?utf-8?B?`echo "$HOSTSTATE$:$HOSTNAME$" |base64`?=" $CONTACTEMAIL$
        }
  # 'notify-service-by-email' command definition(OLD)
#define command{
#        command_name    notify-service-by-email
#        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\n服务: $SERVICEDESC$\n主机IP: $HOSTADDRESS$\n状态: $SERVICESTATE$\n\n时间: $SHORTDATETIME$\n\n追加信息:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $SERVICESTATE$:$HOSTADDRESS$  $SERVICEDESC$ **" $CONTACTEMAIL$
#        }
#(NEW)-WANGLI
define command{
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\n服务: $SERVICEDESC$\n主机IP: $HOSTADDRESS$\n状态: $SERVICESTATE$\n\n时间: $SHORTDATETIME$\n\n追加信息:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -a "Content-Type:utf-8" -s "=?utf-8?B?`echo "** $SERVICESTATE$:$HOSTADDRESS$  $SERVICEDESC$ **" |base64`?=" $CONTACTEMAIL$
        }
  简单总结的说:就是要把邮箱地址放在base之外,放在里面不知道什么原因邮件发送不出去,我猜测是邮件地址不能识别的问题;研究了好几天nagios报警发邮件的问题,猜测:如果用sendEmail发送邮件不知道会不会产生这个问题,没有root用户密码,安装不了sendEmail,想法实现不了。。。。。。。。
总结在命令行的指令为:
mail -a "Content-Type:utf-8" -s "=?utf-8?B?`echo <主题> | base64`?=" xxx@emailhost < emailtextfile
  补充:去掉 -a "Content-Type:utf-8" 也可以,这个用处是将报警信息以附件的形式发给指定的邮箱。
  转载请注明出处!http://www.cnblogs.com/milude0161/p/4205414.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110961-1-1.html 上篇帖子: nginx环境下搭建nagios 3.5.0 下篇帖子: Redhat Nagios安装详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表