
Hier gibt es mehrere Antworten dazu, wie man Postfix so konfiguriert, dass alle Nachrichten zum Entwickeln/Testen von Mail-Skripten an ein einzelnes Postfach umgeleitet werden.
Ich suche nach einer Variante hierzu, bei der ich einen alternativen Port auf einem vorhandenen Mailserver öffne und möchte, dass alle an diesen Port gesendeten SMTP-Nachrichten in ein Postfach (Dovecot, per lokaler Zustellung) auf demselben Server verschoben werden.
Mein Problem ist, dass smtpd die Konfiguration in main.cf teilt, und ich sehe keine Möglichkeit, eine zweite Kopie von smtpd auszuführen, ohne eine komplett separate Postfix-Umgebung zu konfigurieren. Ich suche nach einer einfacheren Lösung.
Das smtp-sink
Programm istfastgenau das, was ich will. Es schreibt jede Nachricht in eine neue Datei, aber ich möchte sie zusätzlich per lokaler Zustellung an Dovecot senden, wo mein E-Mail-Client sie bequem sehen kann.
Kann mir jemand eine einfache Möglichkeit empfehlen, dies zu erreichen? Ich akzeptiere sogar ein Perl-Skript, das SMTP abhört/liest und LMTP schreibt.
Antwort1
Sie können den sekundären Port (zum Beispiel Port 9925) überschreiben, smtpd_recipient_restrictions
sodass E-Mails an Ihr ausgewähltes Postfach umgeleitet werden (zum Beispiel[email geschützt]).
Der Eintrag von master.cf
9925 inet n - - - - smtpd
-o smtpd_recipient_restrictions=check_recipient_access,pcre:/etc/postfix/x.pcre,reject_unauth_destination
Datei/etc/postfix/x.pcre
/.*/ REDIRECT [email protected]
Mit diesem Setup wird jede E-Mail, die an diesen Port kommt, dem PCRE-Muster entsprechen /etc/postfix/x.pcre
, daher leitet Postfix sie weiter an[email geschützt].
Ihre letzte Aufgabe ist sicherzustellen, dass[email geschützt]wurde über Dovecot LMTP geliefert.