Nagios使用SendEmail发送邮件

简介:

今天nagios主机的sendmail突然间发送不了邮件,于是改用SendEmail这个小工具来顶替,发现效果比系统自带的sendmail好很多,而且nagios主机也不用开sendmail服务,更省资源更安全。

sendEmail下载地址:

http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz

安装方式:

tar –zxvf sendEmail-v1.55.tar.gz 
cd sendEmail-v1.55
cp sendEmail /usr/local/bin 
chmod 0755 /usr/local/bin/sendEmail
chown nagios:nagios /usr/local/bin/sendEmail

使用测试

/usr/local/bin/sendEmail  –f  nagios@lhp.com  –t  lihuipeng007@163.com –s mail.lhp.com –u “nagios test” –xu nagios@lhp.com –xp 123456  –m nagios-test

参数解释:

-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
-m 表示邮件的内容

-cc 表示抄送
-bcc 表示暗抄送

如果想以一个文件的内容为邮件内容可以这样:

cat  filename |  /usr/local/bin/sendEmail –f nagios@lhp.com –t lihuipeng007@163.com –s mail.lhp.com –u “nagios test” –xu nagios@lhp.com –xp 123456

这个跟我们的nagios发件方式类似,下面我们来改nagios的发件方式:

command.cfg配置修改email发送方式

define command{
     command_name notify-by-email
     command_line /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: NOTIFICATIONTYPE\n\nService: SERVICEDESC\nHost: HOSTALIAS\nAddress: HOSTADDRESS\nState: SERVICESTATE\n\nDate/Time: LONGDATETIME\n\nAdditional Info:\n\nSERVICEOUTPUT" | /usr/local/bin/sendEmail -f nagios@lhp.com -t CONTACTEMAIL -s lihuipeng007@163.com  -u "** NOTIFICATIONTYPE alert - HOSTALIAS/SERVICEDESC is SERVICESTATE **" -xu nagios@lhp.com -xp 123456 
}

把两段关于email的发送方式的定义都改了吧,最后重启一下nagios!

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/658408如需转载请自行联系原作者


lihuipeng

目录
打赏
0
0
0
0
90
分享
相关文章
PHPMailer发送邮件
PHPMailer是一个用于发送电子邮件的PHP类库,可以应用在激活邮件、找回密码等场景。本博文只要把PHPMailer结合到Tp框架。
9666 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等