Я установил и настроил Postfix. Отправляет электронное письмо нормально.
Я перезагружаю сервер, и электронная почта не выполняет поиск DNS на хостах SMTP. Повторяется при перезагрузке.
Если я перезапущу службу, все будет работать нормально до следующей перезагрузки.
Боюсь, что Postfix запускается до того, как будет готова другая сетевая служба? Есть подсказки, как исправить?
Oct 22 12:40:12 homer postfix/cleanup[1346]: 848E9E60F89: message-id=<20181022124012.848E9E60F89@homer.the-corbins.net>
Oct 22 12:40:12 homer postfix/qmgr[1336]: 848E9E60F89: from=<root@homer>, size=363, nrcpt=1 (queue active)
Oct 22 12:40:12 homer postfix/smtp[2234]: 848E9E60F89: to=<johnj@outlook.com>, relay=none, delay=0.02, delays=0.02/0/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=smtp.gmail.com type=AAAA: Host not found, try again)
Поэтому я считаю, что это связано с интересным поведением постфикса, когда по умолчанию он помещается в chroot для большей безопасности. Однако при этом он копирует файл /etc/resolv.conf
в этот chroot.Поэтому, если этот файл изменится на самом хосте, он не сможет обновиться в postfix, а это означает, что если DNS-серверы, которые вы использовали, больше не доступны, то postfix не сможет искать записи DNS и, следовательно, не сможет отправить электронные письма, если ему необходимо ретранслировать электронные письма на домен (или smtp.gmail.com
в этом случае).
Это происходит только с определенными конфигурациями, и, например, с пакетом resolvconf
этого не должно происходить, поскольку postfix
установит перехватчики в resolvconf
, так что когда он обновляет настройки DNS, а также перезагружает постфикс. Чтобы исправить это, вам нужно выяснить, что обновляет ваш /etc/resolv.conf
, запустить его и перезапустить постфикс.