Minha máquina (CentOS, sendmail-8.14.7-5.el7) aceita e-mails de máquinas e encaminha todos eles para meu smarthost my-smarthost.mydomain.com
, que por sua vez possui vários registros MX dinâmicos). O correio local permanece local (usando o arquivo de alias).
sendmail.mc:
define(`SMART_HOST', `smtp:my-smarthost.mydomain.com')dnl
Hoje notei um problema:
# 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
Por que o sendmail tenta pesquisar no DNS os endereços dentro dos e-mails? Achei que apenas encaminhasse tudo que não fosse local para o smarthost!
Tentei usar o truque para desativar a pesquisa de DNS com
define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl
e assim por diante, mas há um problema com isso: isso também desativa a pesquisa MX para o smarthost! Portanto, os registros MX dinâmicos do meu smarthost não são mais encontrados/usados!
Alguma idéia de como impedir que o sendmail faça qualquer coisa, exceto retransmitir para o smarthost?
Responder1
Considere usarFEATURE(nocanonify)
nocanonificarNão passe endereços para $[ ... $] para canonização por padrão, ou seja, nomes de host/domínio são considerados canônicos, exceto nomes não qualificados, que não devem ser usados neste modo (violação do padrão). […]
Isso deve impedir o sendmail de perguntar ao DNS sobre domínios em endereços de cabeçalho.