Meine Maschine (CentOS, sendmail-8.14.7-5.el7) akzeptiert E-Mails von Maschinen und leitet sie alle an meinen Smarthost weiter my-smarthost.mydomain.com
, der wiederum über mehrere dynamische MX-Einträge verfügt. Lokale E-Mails bleiben lokal (unter Verwendung der Alias-Datei).
sendmail.mc:
define(`SMART_HOST', `smtp:my-smarthost.mydomain.com')dnl
Heute ist mir ein Problem aufgefallen:
# 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
Warum versucht sendmail, die Adressen in den E-Mails per DNS-Suche zu ermitteln? Ich dachte, es leitet einfach alles, was nicht lokal ist, an den Smarthost weiter!
Ich habe versucht, den Trick zu verwenden, um DNS-Lookup zu deaktivieren mit
define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl
und so weiter, allerdings gibt es dabei ein Problem: Dadurch wird auch die MX-Suche für den Smarthost deaktiviert! Die dynamischen MX-Records für meinen Smarthost werden also nicht mehr gefunden/verwendet!
Irgendwelche Ideen, wie man Sendmail daran hindern kann, irgendetwas anderes zu tun, als die Weiterleitung an den Smarthost durchzuführen?
Antwort1
Erwägen Sie die VerwendungFEATURE(nocanonify)
nichtkanonisierenÜbergeben Sie standardmäßig keine Adressen an $[ ... $] zur Kanonisierung, d. h. Host-/Domänennamen werden als kanonisch betrachtet, mit Ausnahme von nicht qualifizierten Namen, die in diesem Modus nicht verwendet werden dürfen (Verstoß gegen den Standard). […]
Es sollte Sendmail daran hindern, DNS nach Domänen in Header-Adressen zu fragen.