Emails für bestimmte Empfängerdomains über Smarthost senden

Ich hatte kürzlich einen Fall, bei dem die Emaildienste eines großen Betriebssystemherstellers alle Mails von einer Seite abgelehnt haben, die einige Zeit vorher von einem auf einen anderen Server umgezogen ist.

Da „nur“ die IP des neuen Servers in der Blockierliste eingetragen war, war es weiterhin möglich, Mails vom alten Server zu senden. Da es nun etwas dringend war, dass die Emails wieder an die Kunden des Mailproviders gehen und eine Löschung von der Blockierliste zu lange dauert, hab ich mich dazu entschieden, die Mails erst einmal über den alten Server zu senden. Dieser agiert somit als sog. Smarthost.

Damit aber die IP-Reputation für andere Mailprovider nicht sinkt, sollten nur die Mails über den Smarthost gesendet werden, die tatsächlich an die betroffenen Domains gehen.

Um exim entsprechend zu konfigurieren, habe ich folgende Konfigurationsdatei angelegt (Wichtig: Split-Files-Mode aktivieren)

/etc/exim4/conf.d/router/049_exim4_config_specific_mail_via_smarthost

mit diesem Inhalt:

static_route:
    driver = manualroute
    transport = remote_smtp
    route_data = ${lookup{$domain}partial-lsearch{/etc/exim4/specific_relays}}

Dazu dann eine Datei, in der den Domains ein Smarthost zugewiesen wird:

/etc/exim4/specific_relays

Inhalt:

xyz.com: smarthost.example.com
xyz.de: smarthost.example.com

Zu guter Letzt noch auf dem Smarthost die Annahme vom Absendeserver erlauben. Das lässt sich bei Debian-basierten Distributionen einfach über einen der Dialoge der Konfiguration erledigen (Dialog Relay-Host):

dpkg-reconfigure exim4-config

Smarthost-Konfiguration
Smarthost-Konfiguration

Dann auf beiden Systemen den Exim-Dienst neu laden:

service exim4 reload

Idee:

https://forums.cpanel.net/threads/forward-certain-domain-emails-to-smart-host.136325/#post-899191