
Я использую сервер Debian 7.9 с Postfix 2.9.6 и Spamassassin 3.3.2.
Одна из стандартных проверок, которую делает Spamassassin, — это проверка записи rDNS. Я предполагаю, что он получает эту информацию из Received: from ...
заголовка сообщения, переданного Postfix.
Теперь довольно часто Postfix не может разрешить имя хоста для IP-адреса, что неоправданно дает худшую оценку, чем он заслуживает, поскольку почти во всех случаях имя хоста действительно существует. Если я проверяю эти сообщения вручную, я вижу, что упомянутый заголовок часто говорит , Received: from example.com (unknown [1.2.3.4]) by ...
в то время как в то же время, если я пытаюсь разрешить IP-адрес самостоятельно (в оболочке сервера), это работает без проблем.
В чем здесь проблема? Может быть, слишком агрессивный тайм-аут, который не дает достаточно времени? Если да, есть ли способ отрегулировать этот тайм-аут? Мой сервер не получает тысячи сообщений в минуту, поэтому подождать еще несколько секунд не помешает. Поможет ли переключение на DNS через TCP решить эту проблему? Если да, как мне указать Postfix использовать TCP для DNS-запросов?
решение1
Как оказалось, я запускал свою установку Postfix с chroot-настройкой, установленной по умолчанию на "yes". После того, как я установил его на "no" (так как я не запускаю его в chroot), это, похоже, решило проблему.
Я до сих пор не понимаю, почему раньше проблем не было, а теперь все работает.
Рассматриваемая настройка находится в /etc/postfix/master.cf:
(Источник)
# =============================================================
# service type private unpriv chroot wakeup maxproc command
# (yes) (yes) (yes) (never) (100)
# =============================================================
smtp inet n - n - - smtpd
# This had to be set to "n": ^