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

Sendmail отказывается отправлять электронную почту после выключения демона

ОС: Ubuntu 10.04 Программа: Sendmail

Я отключил демон, установив daemon_mode = "None", queue_mode = "Daemon" в sendmail.conf, обновил conf и перезапустил sendmail.

Однако после этого всякий раз, когда я пытался отправить электронное письмо, я получал stat = Deferred: соединение отклонено [127.0.0.1] из mail.log.

Если я снова включу демон, установив его daemon_mode = "Daemon", тогда все будет работать нормально. Кроме того, если я снова включу демон и попытаюсь отправить электронное письмо, все ранее отложенные электронные письма, которые были отклонены по вышеуказанной причине, будут успешно отправлены по новому электронному письму.

Кто-нибудь знает, что здесь не так? Я хочу, чтобы демон прекратил прослушивание входящей электронной почты, но оставил очередь для очистки неотправленных сообщений.

В твоем /etc/mail/sendmail.mc измените DAEMON_OPTIONS, чтобы он выглядел так:

DAEMON_OPTIONS(`Name=MTA, Addr=127.0.0.1, Port=smtp')dnl
DAEMON_OPTIONS(`Name=MSP, Addr=127.0.0.1, Port=submission')dnl

Тогда беги sudo sendmailconfig и вы настроены.

Я считаю, что решил проблему. Я думаю, проблема может заключаться в том, что если демон включен, sendmail будет полагаться на демона для отправки электронных писем. Если демон выключен, то sendmail отправляет электронные письма другим способом, о котором я точно не знаю (поделитесь своими знаниями, если вы знаете механизм: P).

Во всяком случае, уловка в том, что я правильно настроил почтовый хост демона, но не для этого "другого средства". я нашел Эта статья что было действительно полезно. Если у кого-то возникла такая же проблема, вы можете посмотреть раздел «Работа с Sendmail v8.12». По-видимому, я должен сгенерировать submit.cf с некоторыми конкретными настройками, но я не хотел портить другие настройки в моем существующем submit.cf, поэтому я просто взломал его и напрямую изменил файл cf.

Я нашел строку:

D{MTAHost}[127.0.0.1]

И изменил его на:

D{MTAHost}$mailhost

Где $ mailhost - мой фактический почтовый хост, используемый для отправки писем, в моем случае это сервер Google. После модификации sendmail необходимо перезапустить, чтобы изменения вступили в силу. ПРИМЕЧАНИЕ: запуск sendmailconfig или update_conf или любое другое означает, что обновление файлов conf для sendmail отменяет изменение, поскольку оно не записывается ни в один файл .mc, а является прямым изменением файла cf!

Надеюсь, мой опыт будет полезен кому-то другому :)