Запретить sendmail выполнять DNS-поиск перед ретрансляцией

Запретить sendmail выполнять DNS-поиск перед ретрансляцией

Моя машина (CentOS, sendmail-8.14.7-5.el7) принимает электронные письма с машин и пересылает их все на мой smarthost my-smarthost.mydomain.com, который в свою очередь имеет несколько динамических MX-записей. Локальная почта остается локальной (используя файл псевдонима).

sendmail.mc:
define(`SMART_HOST', `smtp:my-smarthost.mydomain.com')dnl

Сегодня я заметил проблему:

# mailq
        /var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
02AG1YBC023172     1239 Tue Mar 10 17:01 <[email protected]>
      8BITMIME   (host map: lookup (non-domain.com): deferred)
                     <[email protected]>

# sendmail -v -q
Running /var/spool/mqueue/02AG1YBC023172 (sequence 1 of 1)
non-domain.com: Name server timeout
<[email protected]>... Transient parse error -- message queued for future delivery

Почему sendmail пытается искать адреса в письмах в DNS? Я думал, что он просто пересылает все нелокальное на смартхост!

Я попытался использовать трюк, чтобы отключить DNS-поиск с помощью

define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

и так далее, но есть проблема: это также отключает MX-поиск для смартхоста! Так что динамические MX-записи для моего смартхоста больше не находятся/не используются!

Есть идеи, как запретить sendmail делать что-либо, кроме ретрансляции на смартхост?

решение1

Рассмотрите возможность использованияFEATURE(nocanonify)

неканонизироватьНе передавайте адреса в $[ ... $] для канонизации по умолчанию, т. е. имена хостов/доменов считаются каноническими, за исключением неквалифицированных имен, которые не должны использоваться в этом режиме (нарушение стандарта). […]

Это должно помешать sendmail запрашивать DNS о доменах в адресах заголовков.

Связанный контент