Skip to content

Mailrouting mit Postfix

Ab und zu versende ich größere Dateien, für die ich einen anderen Mailserver verwende. Ebenso geht Spam, der nicht erkannt wurde direkt an ein Lernscript, das spamassasin auf dessen zukünftige Erkennung trainiert. Dazu verwende ich dann jeweils andere Empfägeradressen: Spam geht beispielsweise an spam@mailempfängerdomain_2, Mail an Nutzer im Intranet an mailempfängerdomain_1. Der Rest der Welt wird über smtp_Server_3 mit meinen Erkenntnissen versorgt ;-)

Diese Verteilung bzw. Routing unterschiedlich addressierter Mail funktioniert mit Postfix ziemlich einfach:
Datei /etc/postfix/transport mit folgendem Inhalt anlegen:

# /etc/postfix/transport
# Mails für alle Empfänger in *.mailempfängerdomain_1 gehen über smtp_Server_1
.mailempfängerdomain_1 smtp:smtp_Server_1
# Mails für alle Empfänger in mailempfängerdomain_2 gehen über smtp_Server_2
mailempfängerdomain_2 smtp:smtp_Server_2
# Der Rest geht hierhin
* smtp: smtp:smtp_Server_3


/etc/postfix/main.cf um folgende Einträge ergänzen:

# /etc/postfix/main.cf
# Alle Domains eintragen, für die geroutet wird:
relay_domains = mailempfängerdomain_1, mailempfängerdomain_2
# Routing
transport_maps = hash:/etc/postfix/transport


Anschließend die Befehle ausführen:
postmap /etc/postfix/transport
postfix reload


Logfiles kontrollieren, fertig.
cronjob