Назад | Перейти на главную страницу

Есть ли изящный способ уловить новые изменения в sendmail?

Есть ли изящный способ перезагрузки / изменения конфигурации процесса Sendmail из sendmail.mc без полного перезапуска служб и потенциального влияния на доставку smtp, которая выполняется в данный момент?

Думаю, я ищу для sendmail эквивалент apachectl -k graceful в apache.

sendmail полагается на механизмы повтора в Протокол SMTP для надежности доставки и не должен зависеть от умная реализация сервера. Вот почему, насколько мне известно, этого не существует.

При перезапуске sendmail просто прерывает любые входящие соединения с временной ошибкой и отправляет ответ 421, ожидая, что доставка будет повторена позже в соответствии с RFC 5321. Раздел 3.8 и Раздел 4.2.5.

Любые прерванные и недоставленные исходящие сообщения будут обрабатываться из очереди, поддерживаемой sendmail после перезапуска.

Это не sendmail.mc изменения, которые нужно отслеживать, но sendmail.cf. Sendmail читает sendmail.cf. sendmail.mc записывается в m4, и на выходе получается sendmail.cf. Так что вам нужно сначала произвести, а затем kill -HUP идентификатор процесса sendmail.

В системах Debian / Ubuntu работает sendmailconfig достаточно. В CentOS вам понадобится что-то вроде:

cd /etc/mail
/etc/mail/make
service sendmail restart

И все готово. Они производят актуальный sendmail.cf и после этого перезапустите sendmail.