今天nagios主机的sendmail突然间发送不了邮件,于是改用SendEmail这个小工具来顶替,发现效果比系统自带的sendmail好很多,而且nagios主机也不用开sendmail服务,更省资源更安全。
sendEmail下载地址:
安装方式:
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\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 } |
把两段关于email的发送方式的定义都改了吧,最后重启一下nagios! 转自:http://www./Linux/2011-12/49699.htm
|