Lang ist es her das ich im lokalen Netz einen Debian Webserver eingerichtet habe, ich habe ihn genau so eingerichtet wie alle die Server die im Rechenzentrum stehen und wunderte mich warum Exim4 meine Mails nicht an unseren internen Mailserver senden wollte.
Der Mailer Daemon meldete nur
Mail delivery failed: returning message to sender
all relevant MX records point to non-existent hosts
Der Debian Server selbst löst die MX Einträge korrekt auf und der Mailserver ist auch unter den einträgen erreichbar.
Also bin ich gefühlte 1.000 x die Konfiguration durchgegangen bis ich endlich mal auf den punkt ignore_target_hosts gestoßen bin:
dnslookup:
debug_print = „R: dnslookup for $local_part@$domain“
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
same_domain_copy_routing = yes
# ignore private rfc1918 and APIPA addresses
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
no_more
Siehe da, Private IP Adressen werden ignoriert, vom Prinzip her macht das auch Sinn da hier z.B. fehlerhafte MX Einträge ignoriert werden.
Da sich nun der remote MTA im gleichen lokalen Netz befindet ignoriert Exim4 diesen, um das zu verhindern kann man das lokale Netz einfach mit einem ausrufezeichen „auskommentieren“, das sieht dann etwa so aus.
dnslookup:
debug_print = „R: dnslookup for $local_part@$domain“
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
same_domain_copy_routing = yes
# ignore private rfc1918 and APIPA addresses
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
!172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
no_more
Danach Exim4 einfach neustarten und schon kann der Server (bzw. die Webanwendung auf dem Server) fein mails an unseren internen MX weitergeben. Muchas!
3 comments on “[Debian] – Exim4 – E-Mails an Mailserver mit lokaler IP-Adresse”
Mit Postfix wäre das nicht passiert. :D
Aber andere Frage: Warum überhaupt einen Mail-Server installieren, wenn die Webanwendung nur Mails verschicken soll? Dazu reicht doch ein Aufruf von mailx (oder so)?!
Wenn es nur darum geht Emails über einen Relay zu senden, habe ich wirklich gute Erfahrung mit ssmtp gemacht. Schnell, einfach und man erspart sich genau solche Gedankenkrücken… Aber natürlich muss man abwägen, was machen braucht.
Also mailx ist leider keine alternative allerdings ssmtp ist ne feine sache, das muss ich mir mal bei gelegenheut genauer anschauen. Muchas!