Frage Postfix - Wie leite ich alle E-Mails an einen Benutzer um, zB *@example.com → user@example.com


Ich verwende Postfix für meine E-Mail. Ich weiß, dass ich / etc / aliases und newaliases Befehl verwenden kann, um bestimmte E-Mails umzuleiten, zB kann ich root@example.com zu user@example.com umleiten, indem ich setze root: user in meinem / etc / Aliase und dann läuft newaliases. Aber ich möchte das Äquivalent von machen *: user, sodass alle E-Mails an example.com an user@example.com gesendet werden.

Wie mache ich das?


26
2018-06-10 22:17


Ursprung




Antworten:


luser_relay = user@example.com in deiner main.cf ist was du willst.

Um den Benutzer zu deaktivieren und alle Mails zu akzeptieren, müssen Sie den local_recipient_maps = Möglichkeit. Dokumentation


17
2018-06-10 22:28



Ich habe das zu main.cf hinzugefügt und postfix neu gestartet. Ich habe den folgenden Fehler in /var/log/main.info: <pre> 550 5.1.1 <myrandom@example.org>: Empfängeradresse abgelehnt: Benutzer unbekannt in der lokalen Empfängertabelle; von = <me@gmail.com> bis = <myrandom@example.org> </ pre> - Rory
So ist beispielsweise example.org nicht in der Liste der lokalen Empfängerdomänen enthalten oder etwas anderes wurde falsch konfiguriert. - womble♦
Ich habe es funktioniert. Genauso wie die Option luser_relay, die Sie erwähnt haben, müssen Sie auch die Option "local_recipient_maps =" hinzufügen. Diese Postfix-Dokumentationsseite erläutert Folgendes: postfix.org/postconf.5.html#lusser_relay - Rory
Behält diese Methode die E-Mail-Adresse bei? (Die virtuellen Karten schreiben sie neu und die ursprüngliche Adresse To: ist verloren.) - user14645
@Sverre Fragen sind für Fragen, nicht Kommentare zu sieben Jahre alten Antworten auf tangential bezogene Fragen. - womble♦


Was Sie suchen, ist eine virtuelle Alias-Tabelle und kann mit den folgenden ...

Zuerst müssen Sie bearbeiten oder erstellen, wenn es nicht bereits existiert / etc / postfix / virtuell Datei.

example.com   whatever
@example.com  user@example.com

Nachdem dies gespeichert wurde, müssen Sie starten postmap /etc/postfix/virtual um das Indizierte zu generieren /etc/postfix/virtual.db Postfix wird lesen.

Sie müssen dann die bearbeiten /etc/postfix/main.cf und stellen Sie sicher, dass die folgende Zeile unkommentiert ist:

virtual_alias_maps = hash:/etc/postfix/virtual

Dies wird Postfix tatsächlich über die virtuelle Alias-Tabelle informieren und sie verwenden.

Das Problem mit der Verwendung der luser_relay Option wie andere erwähnt haben ist, dass dies als der Benutzer der letzten Resorts für unbekannte Adressen von der lokalen Zustellungsstelle behandelt wird. Wenn Postfix nur E-Mails für eine Domäne verarbeitet, kann dies für diesen Zweck verwendet werden. Es kann jedoch andere Konfigurationsfehler maskieren und wird wahrscheinlich zu unerwarteten Ergebnissen führen, wenn mehr als eine Domäne bearbeitet wird.

Der einzige Nachteil, den ich erwähnen muss, ist, dass Sie durch das Erstellen eines solchen Wildcard-Alias ​​Ihr Mailsystem öffnen, um Nachrichten für Adressen zu akzeptieren, die nicht existieren und das Risiko besteht, dass das Postfach schnell mit Spam gefüllt wird Postfächer.


16
2018-06-11 01:34





Es ist eigentlich ganz einfach. Alles, was Sie tun müssen, ist, so etwas in Ihr zu legen main.cf Datei:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

Das regexp Teil macht den Trick. Auch in /etc/postfix/virtual_alias Du hast etwas wie folgt geschrieben:

/^test/ you@yourdomain.com

In diesem Beispiel sollten Sie alle E-Mails erhalten, deren Ziel mit "test" beginnt. Vergessen Sie nicht, postmap / etc / postfix / virtual_alias zu postmappen und Postfix neu zu laden.


8
2017-08-29 13:08





Um eine Antwort / Kommentar oben zu kombinieren, der am einfachsten für mich funktioniert (Ich habe eine primäre Domain):
Fügen Sie Folgendes hinzu /etc/postfix/main.cf :

luser_relay = user@domain.com (or local system user)
local_recipient_maps =

(local_recipient_maps = hat keinen Wert gesetzt)

Ich benutze ein lokales Benutzer-Linux-Konto und füge auch denselben Benutzer zu / etc / aliases hinzu, so dass der Benutzer alle Mail an root, postmaster, etc bekommt.

Sie können diese Adresse auch in Ihrem Konto kombinieren virtual_alias_maps und zeigen Sie alle virtuellen Domäne-Catch-mal auf demselben primären Konto an.

Bitte konsultiere luser_relay für mehr.


6
2017-07-12 16:51





Wenn Sie eine Catch-All-Adresse für Mydomain verwenden möchten, können Sie verwenden /etc/aliases kombiniert mit einer Regex wie folgt:

Im /etc/postfix/main.cf hinzufügen
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

Im /etc/postfix/catch-all-local.regexp hinzufügen
!/^owner-/ your-catch-all-user

Dies sollte den Trick machen. Es funktionierte für mich und arbeitet mit parallel gesetzten virtual_alias_maps.


2
2018-02-19 12:23





Ich hasse es, ein Killjoy zu sein, aber Ihr Problem ist, dass Sie Postfix verwenden. Postfix macht genau diese Übung sehr schwierig. Ich weiß: Ich musste es vor einigen Jahren tun und es dauerte Tage und Tage, um es richtig zu machen. Das luser Option ist die richtige, aber es gibt noch andere Dinge, die richtig sind. (Und selbst der Name der Option zeigt, dass die Autoren von Postfix dies nicht wirklich unterstützen wollten.)

Ich empfehle, zu Courier zu wechseln. Courier unterstützt diese "Catch-All" -Methode auf viel sinnvollere Weise, da es sein bestehendes Alias-System erweitert.


-4
2018-06-11 01:05



Postfix macht es überhaupt nicht schwierig. Virtuelle Aliase sind die Standardmethode, um in Postfix Catchalls zu machen, und sie sind sehr einfach. Nichtsdestotrotz sind Catchalls auf keinem anderen als einem Spielzeug-Mail-Server für deine persönliche Domain eine sehr schlechte Idee. - Rob Chanter