weini
Danke für die Info. Das war bisher auch mein Recherche Ergebnis.
Ich hatte gehofft, dass ich doch was übersehen habe und "nur" einen Haken vergessen habe zu setzen 😅 .
Mein Szenario ist ähnlich deinem skizzierten. Der Mailserver ist nicht von extern erreichbar und holt die Mails von Hostern (gmx, hetzner, etc.) via fetchmail ab.
Lokal am Mailserver sind alle Domains angelegt und grommunio selbst fühlt sich dafür auch zuständig.
Alelrdings hab ich postfix in zwei postfix Instanzen aufgeteilt:
- postfix 1:
Aus postfix Sicht ist jede Domain external. Bei jedem Mail Versand wird gegen die grommunio DB geprüft ob der Empfänger in grommunio existiert.
Falls ja, Mail geht an grommunio, falls nein, Mail geht an postfix 2.
- postfix 2:
Dieser regelt die sender dependent relay host Geschichten. Also Versand der Mails über einen relay host mit senderabhängiger Authentifizierung am Hoster. Somit wird test1@gmx.de über gmx mit den credentials für test1 versendet, test2@gmx mit den credentials für test2, usw. Und andere Domains, z.B. example.de gehen eben über den entsprechenden Server für example.de
Die Aufteilung von postfix war notwendig, da ich es nicht innerhalb einer Instanz geschafft habe die Empfängerprüfung gegen grommunio und die Sender abhängige Authentifzierung zu realisieren. Macht das System zwar komplexer, aber so sind auch die Funktionen getrennt.
Im postfix 1 hängt jetzt als milter das python Skript, welches die envelope Adresse bei Bedarf umschreibt.
milter skript:
Hab das mal in github hochgeladen: https://github.com/MovSiv/milter-envelope-rewrite
Anmerkung:
Für meine Zwecke tut das setup soweit. Gerade in Verbindung mit Mail Domains, die man nicht zu 100% lokal hat (wie z.B. gmx) funktioniert es soweit einwandfrei.
Inwieweit die Konfig ein Update übersteht wird sich noch zeigen. Bisher sieht es aber ganz gut aus.