Manchmal möchte man eMails an bestimmte Empfänger über ein STMP-Relay leiten.
Z.B. wenn sie nicht angenommen werden, wenn der eigene Mailserver sie verschickt, wohl aber vom eingesetzten Relayhost aus.
Wie man das prinzipiell in postfix macht, wurde hier mal thematisiert: smtp-relays einrichten
Auch im mailcow-UI selbst kann man komfortabel solche Transportmaps anlegen. Leider aber nicht mit Wildcards. Man muss also für jedes Ziel einen separaten Eintrag einfügen. Da kann bei den üblichen Verdächtigen, insbesondere bei den vielen verschiedenen TLDs, schon einiges zusammen kommen.
Glücklicherweise lassen sich pcre-Transportmaps recht einfach in den Postfix-Container von mailcow-dockerized einfügen:
Die gewünschten Transports eintragen in die dafür schon vorhandene Datei /opt/mailcow-dockerized/data/conf/postfix/custom_transport.pcre
/^.+@outlook\..+$/ smtp:RELAYHOST
/^.+@hotmail\..+$/ smtp:RELAYHOST
...
(Die Muster lassen sich sicher noch optimieren )
Neue Passwordatei erstellen (freie Nameswahl):
/opt/mailcow-dockerized/data/conf/postfix/my_sasl_passwd
RELAYHOST USER:PASSWORT
Die Passwortdatei in /opt/mailcow-dockerized/data/conf/postfix/main.cf an den schon vorhandenen Eintrag für smtp_sasl_password_maps anhängen:
smtp_sasl_password_maps = OTHERSTUFF, texthash:/opt/postfix/conf/my_sasl_passwd
Hier muss texthash gewählt werden, oder man müsste den entsprechenden postmap-Befehl noch zusätzlich in das Dockerfile mit einbauen
Den postfix-Container von mailcow neu starten und das wars.
Nun sollten alle eMails an Empfänger, die von den eingetragenen Mustern erfasst werden über das smtp-Relay umgeleitet werden.
Bei mir zumindest klappt das nun wunderbar