一、下载sendEmail
- wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz -P /usr/local/src
二、 安装sendEmail
- tar zxvf /usr/local/src/sendEmail-v1.56.tar.gz -C /usr/local/src
- cp /usr/local/src/sendEmail-v1.56/sendEmail /usr/local/bin/
三、给文件赋执行权
chmod 755 /usr/local/bin/sendEmail
四、执行测试命令
#cd /usr/local/bin/
# sendEmail -f test@163.com -t xx@qq.com -s smtp.163.com -xu test -xp password -u "nagios test" -m "nagios test"
或者将一个文件的内容作为附件发出, 并且是gb2312或utf8编码的html格式文件(可以显示中文):
#sendEmail -f test@163.com -t xx@qq.com -s smtp.163.com -xu test -xp password -u "nagios测试" -m "nagios test 测试" -a /var/log/messages -o message-content-type=html -o message-charset=gb2312
sendEmail的常用参数:
-m: 邮件的内容,如果不带此参数,会提示用户手工输入
-f: 邮件发送者
-s: STMP服务器的域名或者IP地址
-u: 邮件的主题
-t: 邮件接收者,如果需要发送多个,使用","隔开邮件人地址即可
-xu: 表示SMTP验证的用户名
-xp: SMTP验证的密码
-o: 文本信息字符集,若无 -o参数,发送的含有中文时会有乱码问题!
五、实际应用:
在commands.cfg中修改成以下相应的项,网易邮箱要开通smtp并使用授权码做为密码登录,这样做避免把邮箱密码泄漏给第三方邮箱。
define command{
command_name notify-host-by-email
command_line /usr/local/bin/sendEmail -f answanXXX@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu answanXXX -xp password
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/local/bin/sendEmail -f answanXXX@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu answanXXX -xp password
}
以前版本,未分主机和服务的:
define command{undefined
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\n$SERVICEOUTPUT$" | /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
}
六、检查配置文件是否有误并重启nagios
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# systemctl restart nagios