[postfix-users] Korrekte Umleitung lokaler EMail
![](https://secure.gravatar.com/avatar/11ab7c2119e1318a8761815b0c8b2807.jpg?s=120&d=mm&r=g)
Hallo,
Ich unterhalte einen postfix Server mit virtuellen Domains und Usern, welche in SQL Tabellen verwaltet werden. Nun habe ich ein Problem mit der korrekten Umleitung von Mail, welche auf dem Mailserver lokal generiert wird.
Das Setup kann ich folgendermassen beschreiben:
Aus /etc/postfix/main.cf:
myorigin = example.org mydestination = mail, localhost, , mail.example.org, localhost.example.org
virtual_mailbox_domains = mysql:/etc/postfix/ mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/ mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
Aus /etc/aliases:
postmaster: admin@example.org root: admin@example.org
Das Problem ist folgendes: Versende ich von der Konsole von mail.example.org aus eine EMail an root@mail, root@localhost, root@mail.example.org oder root@localhost.example.org, wird diese korrekt in der Mailbox von admin@example.org abgelegt. Schicke ich diese aber nur an root (ohne Host oder Domainangabe) wird sie in root@example.org abgelegt.
Was ich eigentlich möchte, wäre eine Catch-all Regel, welche alle lokal auf mail.example.org versendete Mail an admin@example.org weiterleitet, egal ob noch ein Host oder eine Domain zum Empfängernamen hinzugefügt wird oder nicht. Wie erreiche ich dies, ohne in den SQL Tabellen Aliases erstellen zu müssen, welche dann für jedermann auf der ganzen Welt anschreibbar wären?
Ich verstehe auch nicht ganz, wie und wann /etc/aliases und die SQL Tabellen von Postfix in die Verarbeitung einbezogen werden.
Kann mir da jemand auf die Sprünge helfen?
Besten Dank, Reto
![](https://secure.gravatar.com/avatar/03acee2fce3d396899007e1ac66dbe3b.jpg?s=120&d=mm&r=g)
Zitat von Reto Stalder rstalder@gmail.com:
Hallo,
Ich unterhalte einen postfix Server mit virtuellen Domains und Usern, welche in SQL Tabellen verwaltet werden. Nun habe ich ein Problem mit der korrekten Umleitung von Mail, welche auf dem Mailserver lokal generiert wird.
Das Setup kann ich folgendermassen beschreiben:
Aus /etc/postfix/main.cf:
myorigin = example.org mydestination = mail, localhost, , mail.example.org, localhost.example.org
virtual_mailbox_domains = mysql:/etc/postfix/ mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/ mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
Aus /etc/aliases:
postmaster: admin@example.org root: admin@example.org
Das Problem ist folgendes: Versende ich von der Konsole von mail.example.org aus eine EMail an root@mail, root@localhost, root@mail.example.org oder root@localhost.example.org, wird diese korrekt in der Mailbox von admin@example.org abgelegt. Schicke ich diese aber nur an root (ohne Host oder Domainangabe) wird sie in root@example.org abgelegt.
Was ich eigentlich möchte, wäre eine Catch-all Regel, welche alle lokal auf mail.example.org versendete Mail an admin@example.org weiterleitet, egal ob noch ein Host oder eine Domain zum Empfängernamen hinzugefügt wird oder nicht. Wie erreiche ich dies, ohne in den SQL Tabellen Aliases erstellen zu müssen, welche dann für jedermann auf der ganzen Welt anschreibbar wären?
Ich verstehe auch nicht ganz, wie und wann /etc/aliases und die SQL Tabellen von Postfix in die Verarbeitung einbezogen werden.
Kann mir da jemand auf die Sprünge helfen?
Bei lokal verschickter Mail werden alle unvollständigen Adressen mit $myorigin, also in deinem Fall mit "example.org" ergänzt. D.h. Mail an "root" wird zu Mail an "root@example.org". Die lokalen Aliases unter /etc/aliases gelten für "local" also für die Zustellung an $mydestination welches bei dir kein $myorigin listet. Üblicherweise wird in etwa folgendes verwendet:
mydestination=$myhostname myorigin=$myhostname
Dann die entsprechenden Aliases eintragen. Um externe (smtpd) Annahme für $mydestination zu verhindern:
relay_domains=
Den Rest wie gehabt per virtual konfigurieren.
Gruß
Andreas
![](https://secure.gravatar.com/avatar/11ab7c2119e1318a8761815b0c8b2807.jpg?s=120&d=mm&r=g)
Bei lokal verschickter Mail werden alle unvollständigen Adressen mit $myorigin, also in deinem Fall mit "example.org" ergänzt. D.h. Mail an "root" wird zu Mail an "root@example.org". Die lokalen Aliases unter /etc/aliases gelten für "local" also für die Zustellung an $mydestination welches bei dir kein $myorigin listet. Üblicherweise wird in etwa folgendes verwendet:
mydestination=$myhostname myorigin=$myhostname
Dann die entsprechenden Aliases eintragen. Um externe (smtpd) Annahme für $mydestination zu verhindern:
Jetzt hab ichs begriffen, vielen Dank Andreas! Für das Mailinglisten Archiv hier noch die funktionierende Konfiguration:
Aus /etc/postfix/main.cf:
myorigin = mail.example.org mydestination = mail, localhost, mail.example.org, localhost.example.org relay_domains =
Aus /etc/aliases:
postmaster: root root: admin@example.org
Besten Dank für die Hilfe!
Reto
participants (2)
-
lst_hoe02@kwsoft.de
-
Reto Stalder