Zu Entwicklungszwecken möchten wir einen Mailserver (Postfix) einrichten, der alle Mails, die über ein bestimmtes SMTP-Konto gesendet werden, an dieses gleiche Konto weiterleitet.
bearbeiten: Die Post wird nicht mehr an die ursprüngliche Adresse gesendet.
Wir würden also für unterschiedliche Projekte unterschiedliche Konten erstellen und die gesamte E-Mail eines Projekts geht an ein Postfach.
Wir verwenden derzeit diese Lösung:Empfänger aller (bis auf einen) ausgehenden E-Mails umschreiben
Aber wie können wir dies basierend auf dem SMTP-AUTH-Konto an unterschiedliche Zieladressen anpassen?
Antwort1
Hier sind zwei Möglichkeiten:
1. sender_bcc_maps
Option in Postfix verwenden.
sender_bcc_maps (Standard: leer)
Optionale BCC-Adresssuchtabellen (Blind Carbon Copy), indiziert nach Absenderadresse. Die BCC-Adresse (mehrere Ergebnisse werden nicht unterstützt) wird hinzugefügt, wenn E-Mails von außerhalb von Postfix eingehen.
Sie müssen Folgendes hinzufügen /etc/postfix/my.cnf
:
sender_bcc_maps = hash:/etc/postfix/bcc_maps
Und /etc/postfix/bcc_maps
fügen Sie in der Datei die gewünschte Zuordnung hinzu:
[email protected] [email protected]
[email protected] [email protected]
Dann renne:
postmap /etc/postfix/bcc_maps
Und starten Sie Postfix neu.
- Absenderbasierte Umleitung
In main.cf:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access
und in der Datei sender_access:
from_address@domain redirect new_to_address@anotherdomain.
Dann postmap /etc/postfix/sender_access
Postfix neu starten
Antwort2
Dies beantwortet nichtbasierend auf SMTP-Authentifizierungbietet aber eine Lösung, die auf Ihren Bedürfnissen basiert.
Ich habe hierfür kanonische Karten verwendet, einen neuen VPS (CentOS/UbunBTU oder was auch immer) eingerichtet und dann meine „Entwickler“-Systeme so eingestellt, dass diese Box als Smarthost fungiert (innerhalb des Netzwerks, beispielsweise 192.168.0). Sie könnten dasselbe mit wp-smtp oder anderen tun, wir haben Interworx verwendet, also funktionierte ein Smarthost am besten.
[root@mx ~]# cat /etc/postfix/main.conf
recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map
mynetworks = 192.168.0.0/24
header_checks = regexp:/etc/postfix/header_checks
relayhost = mailserver.example.com
[root@mx ~]# cat /etc/postfix/header_check
/^Subject: (.*?)$/ REPLACE Subject: [Dev] $1
[root@mx ~]# cat /etc/postfix/recipient_canonical_map
/./ [email protected]
*regexp, daher ist kein Postmap der Dateien erforderlich.
Da es sich hierbei um eine Entwicklungsumgebung handelt, würde ich aus eigener Erfahrung nicht empfehlen, Ihre Produktion zu manipulieren, um der Entwicklung gerecht zu werden, sondern Systeme wie dieses zu bauen, um diese Systeme zu überbrücken.
http://www.postfix.org/postconf.5.html#recipient_canonical_maps