Das Problem
Sie wollen einen Sendmail-Server betreiben und können oder wollen aus verschiedenen Gründen nicht Postfix, Exim oder Qmail verwenden. Ihr Sendmail soll aber die Mails nicht selbst zustellen, sondern lediglich an eine Smarthost weiterleiten.
Das funktioniert auch alles, aber: Ihr Sendmail kann ohne eine funktionierende Namensauflösung keine Mails zustellen. Das ist besonders ärgerlich, weil diese durch die Verwendung eines Smarthosts eigentlich überflüssig ist.
Wenn Sie mit mailq -Ac
die nicht zugestellten Mails aufrufen, sehen Sie Einträge mit deferred
und hostname lookup
.
Die Ursache
Die genaue Ursache ist nicht (genau) bekannt. Sendmail versucht an verschiedenen Stellen Host- oder Domainnamen aufzulösen oder zu kontrollieren.
Eine Lösung
Legen Sie eine Datei /etc/mail/service.switch
mit folgendem Inhalt an:
/etc/mail/service.switch:hosts files
aliases files
Fügen Sie nun in Ihrer sendmail.mc
folgende Zeile ein:
/etc/mail/sendmail.mc:define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl
Vergessen Sie nicht, durch den Aufruf von make
die Datei sendmail.cf
neu zu erzeugen und Sendmail danach neu zu starten oder zumindest zu reloaden.