Centos 5.xx Nagios sSMTP почта не может быть отправлена с сервера nagios, но отлично работает с консоли
Последние 3 часа я потратил на исследования о том, как заставить nagios работать с уведомлениями по электронной почте, мне нужно отправлять электронные письма с работы, где единственным доступным сервером smtp является сервер компании.
мне удалось сделать это из консоли, используя:
mail adam.xxxx@gmail.com
работая идеально для этого я настроил ssmtp.conf так:
root=adam.xxxx@company.pl
mailhub=smtp.company.com:587
AuthUser=adam.xxx@company.pl
AuthPass=mypassword
FromLineOverride=YES
useSTARTTLS=YES
rewriteDomain=company.pl
hostname=nagios
UseTLS=YES
я также отредактировал файл /etc/ssmtp/revaliases так, чтобы:
root:adam.xxxx@company.com:smtp.company.com:587
nagios:adam.xxxx@company.com:smtp.company.com:587
nagiosadmin:adam.xxxx@company.com:smtp.company.com:587
я также отредактировал разрешения файла для /etc/ssmtp/* так, чтобы:
-rwxrwxrwx 1 root nagios 371 lis 22 15:27 /etc/ssmtp/revaliases
-rwxrwxrwx 1 root nagios 1569 lis 22 17:36 /etc/ssmtp/ssmtp.conf
и я назначен в соответствующие группы, я верю:
cat /etc/group |grep nagios
mail:x:12:mail,postfix,nagios
mailnull:x:47:nagios
nagios:x:2106:nagios
nagcmd:x:2107:nagios
когда я отправляю почту вручную, я получаю ее в своем почтовом ящике, но когда я отправляю почту из nagios, в почтовом журнале говорится:
Nov 22 17:47:03 certa-vm2 sSMTP[9099]: MAIL FROM:<root@company.pl>
Nov 22 17:47:03 certa-vm2 sSMTP[9099]: 550 You are not allowed to send mail from this address
он говорит root@company.com, и мне не разрешено отправлять письма, утверждающие, что они являются root@company.com, предполагается, что это adam.xxxx@company.com, что я делаю неправильно? у меня закончились уловки...
С наилучшими пожеланиями, Адам XXXX
1 ответ
Вам нужно изменить команды уведомления nagios, чтобы они передавали любые аргументы CLI, которые mail/ssmtp ожидает установить адрес "от".
Специфика того, как это сделать, зависит от MTA, но я полагаю, что ssmtp реализует интерфейс, совместимый с sendmail, поэтому вы можете просто добавить это в конец ваших команд уведомлений:
-- -f adam.xxxx@company.com
Дважды проверьте man-страницу на предмет "mail", чтобы убедиться, что "-" позволяет передавать параметры sendmail через MTA, а затем проверьте на man-странице "sendmail", чтобы убедиться, что "-f" установит адрес "from".