Frage Postfix: Was genau sind Alias-Domains?


Ich dachte, ich verstehe "Alias-Domains", weil es einfach ein Alias ​​für eine andere Domain ist! Wenn ich also ein Postfach wie "info@main.com" einrichte und "alias.com" als Domain-Alias ​​für "main.com" hinzufüge, würde auch die Adresse "info@alias.com" funktionieren ... Aber nein !

Also, ich habe diese Domains hinzugefügt:

  • main.com
  • alias.com

Ich habe dieses Postfach erstellt:

  • info@main.com

Dann habe ich diese Alias-Domains gemappt:

  • alias.com => main.com

Und dann, wenn ich eine Mail an info@alias.com sende, erhalte ich diesen Fehler:

Recipient address rejected: User unknown in virtual mailbox table (state 13).

Ich möchte keinen Alias ​​für jede Domain erstellen, da ich einige habe. Ich möchte auch keinen Platzhalter verwenden (wie info @ *), da es auch andere Domains gibt, die keine Aliase sind main.com

Also ... was sind das genau?


8
2017-08-07 21:55


Ursprung


Ich habe das Gleiche erwartet und verstehe immer noch nicht, warum das so ist nicht der Fall. - Josh M.


Antworten:


Die Erklärung ist in der Dokumentation: http://www.postfix.org/VIRTUAL_README.html#virtual_alias

Sie möchten "Alias-Postfächer" aka virtual_mailbox_alias und virtual_mailbox_maps, sprechen aber von "Alias-Domains": http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class


4
2017-08-07 22:21



Ich kann den Unterlagen keinen Sinn geben - wie geht es Ihnen? domain1.com alias irgendein Mailbox an <mailbox>@domain2.com? - Josh M.
@JoshM. Sie können eine Hash-Tabelle in verwenden virtual_alias_maps mit einem Eintrag des Formulars @domain1.com @domain2.com. Siehe meine Antwort für Details. - Sam Hanes


Hinzufügen alias.com zu virtual_alias_domains ist der korrekte erste Schritt, aber das teilt Postfix nur mit, dass Sie diese Domain für Aliase verwenden möchten. Es sagt nicht, was die Aliase sein sollten. Dazu müssen Sie eine virtuelle Alias-Map verwenden.

Fügen Sie zuerst so etwas hinzu main.cf:

virtual_alias_domains = alias.com
virtual_alias_maps = hash:/etc/postfix/virtual

Hinzufügen virtual_alias_maps bekommt eine Datei (/etc/postfix/virtual) das als virtuelle Alias-Map verwendet wird. Aber was stellst du in diese Datei? Laut virtuelle (5) Manpage:

Das Eingabeformat für den Befehl postmap (1) lautet wie folgt:

  pattern address, address, ...

Wenn Muster mit einer Mailadresse übereinstimmen, ersetzen Sie sie durch die entsprechende Adresse.

und

Mit Lookups von indizierten Dateien wie DB oder DBM oder von vernetzten   Tabellen wie NIS, LDAP oder SQL, erzeugt jede Benutzer @ Domain Abfrage ein   Sequenz von Abfragemustern wie unten beschrieben. Jedes Abfrage-Muster wird an gesendet   jede spezifizierte Nachschlagetabelle, bevor das nächste Abfragemuster versucht wird, bis a   Übereinstimmung wird gefunden.

...

@domain address, address, ...

Umleiten von E-Mails für andere Benutzer in der Domäne an Adresse.

und

Das Nachschlageergebnis unterliegt dem Umschreiben von Adressen:   Wenn das Ergebnis die Form hat @otherdomainDas Ergebnis wird   derselbe Benutzer in otherdomain. Dies funktioniert nur für den ersten   Adresse in einem Multi-Adresse-Lookup-Ergebnis.

Deshalb setze dies ein /etc/postfix/virtual Erreicht den gewünschten vollständigen Domain-Alias:

# map any <user>@alias.com to the matching <user>@main.com
@alias.com     @main.com

Da diese Datei eine Hash-Tabelle ist, müssen Sie sie ausführen postmap (Erläuterung, Manpage):

postmap /etc/postfix/virtual

Weitere Informationen zu virtuellen Domänen finden Sie in der Postfix Virtual Domain HOWTO und über Aliase in der Postfix Address Rewriting HOWTO.


6
2017-11-07 18:12



Also, die PostfixAdmin-Schnittstelle haben ein Käferweil die Schnittstelle (edit.php?table=aliasdomain) versäumt es dem Benutzer zu sagen kein Alias Tatsächlich wird es auftreten, wenn es als aktiviert markiert wird. - Peter Krauss
Ich würde nicht sagen, dass es ein Fehler ist, genau, da er tatsächlich eine virtuelle Alias-Domäne konfiguriert. Ich vermute eher, dass PostfixAdmin von Ihnen weiß, welche virtuellen Postfix-Alias-Domains Sie haben, und dass Sie auch echte Aliase hinzufügen müssen, damit sie alles machen. Es wäre wahrscheinlich besser, wenn es dir das sagen würde. - Sam Hanes


@Josh M.

Ich habe keine Ahnung, ob das der richtige Weg und / oder die gute Praxis ist, aber ich benutze so etwas:

virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/     virtual_alias_maps.cf

$ cat /etc/postfix/domain_rewriting 
/^(.*)@domain1.com$/     ${1}@domain2.com

1
2018-01-29 18:01



Obwohl es nicht genau falsch ist (es wird tun, was Sie erwarten), ist die Verwendung einer Regex-Tabelle weniger effizient als die Verwendung einer Hash-Tabelle mit der @domain1.com @domain2.com Syntax, die ich in meiner Antwort ausführte. - Sam Hanes


Dies ist meine kurze Version von @ Sam-Hanes Antwort (die für mich funktionierte)

In deiner virtual_alias_mapshinzufügen :

@from.domain <tab> @to.domain

In der Befehlszeile:

 postmap /path/to/yourvirtualalismapsfile

In deiner main.cf Datei hinzufügen:

virtual_alias_domains : from.domain

virtual_alias_domains teilt Postfix mit, dass alle Postfachadressen in Form von mailbox@from.domain alle Aliase sind.


1
2018-02-19 13:17