即使在通知被触发时也没有收到 Nagios 电子邮件

Nagios emails not received even when notification is fired poperly

启用详细调试后,我可以看到 Nagios 正在正确触发通知。这是我在 nagios.logs

中看到的内容
[1430915423] SERVICE ALERT: test;Check node port;CRITICAL;HARD;4;Connection refused
[1430915423] SERVICE NOTIFICATION: abhishek;test;Check node port;CRITICAL;notify-service-by-email;Connection refused
[1430915423] SERVICE NOTIFICATION: root;test;Check node port;CRITICAL;notify-service-by-email;Connection refused

但是,我没有收到指定联系人的电子邮件。我正在使用 SSMTP。 它也工作正常。这个命令有效 -

ssmtp abc@xxx.com

因此,两种情况都可能发生 -

notify-service-by-email

不工作或一些安全检查正在过滤掉此类电子邮件(这不应该发生,因为我正在从我的电子邮件地址发送电子邮件)。任何人都可以建议如何调试这个..?

编辑 - 这是我的 通过电子邮件通知服务 命令 -

define command{
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
        }

终于找到问题了..

sSMTP 工作正常.. 用这个命令测试它 -

ssmtp -s abcd@xxx.com

启用DEBUG日志发现/etc/ssmtp/ssmtp.conf没有足够的权限..

文件属于 root 而不是 nagios 用户

希望这对某人有所帮助..