Postfix-Entwicklungsserver - Alle ausgehenden E-Mails abfangen


7

Daher wurde ich jetzt einige Male von Clients erwischt, die E-Mails vom Entwicklungsserver erhalten, weil ich die Datenbank nicht bereinigt habe. Als besonders sichere Option möchte ich sicherstellen, dass alle von meinem Entwicklungscomputer gesendeten E-Mails entweder domänenbasiert abgelehnt oder an mich selbst weitergeleitet werden.

Ich habe ein paar Fragen gefunden, die ein wenig von dem tun, was ich brauche.

Postfix auf dem Entwicklungsserver, E-Mail nur an eine Domain senden lassen - Das sieht gut aus und ist das, was ich bisher implementiert habe, aber der Kommentar zur ersten Antwort ist korrekt. Über Sendmail gesendete E-Mails scheinen diese Einstellung nicht zu verwenden.

postfix: ausgehende E-Mails abfangen und umleiten - das sah in Ordnung aus, aber die Aktualisierung des Transports hat mir nicht geholfen.

Ich habe mir auch das Umschreiben der Adresse http://www.postfix.org/ADDRESS_REWRITING_README.html angesehen und diesen Blog-Beitrag http://rene.bz/redirect-all-outgoing-email-single-account-postfix/ gelesen.

Ich teste dies, indem ich sendmail in der Befehlszeile mit dem Parameter -t wie folgt aufrufe.

sendmail -t < mail

wo der Inhalt von 'Mail' ist

Date: Tue Oct 11 11:25:22 2011 
To: c@example.com 
Subject: test 
From: whatever@somewhere.com
test

Ich habe die Adresse in meine Google Mail-Adresse und die example.com-Adresse geändert. Ich möchte, dass alle E-Mails an eine andere (Arbeits-) Domain gesendet werden.

Bisher sind keine Einschränkungen in Kraft getreten.

/ etc / postfix / transport sieht so aus;

example.com :
.example.com :
* :discard

Ich habe diese Zeilen zu main.cf hinzugefügt

smtpd_recipient_restrictions = hash:/etc/postfix/my_access, reject
transport_maps = hash:/etc/postfix/transport

Bitte beachten Sie auch, dass ich das mit MAMP gelieferte Postfix verwende und main.cf über MAMP - Datei> Vorlage bearbeiten> main.cf bearbeitet habe


1
Viele davon sind großartige Ideen, aber sie scheinen alle die eine Entwicklungsmaschine zu vermissen, die nicht richtig konfiguriert war und gerade mit dem Senden von E-Mails begonnen hat. In der Regel empfiehlt es sich, dies durch Firewalling oder transparenten Proxy des gesamten ausgehenden Port 25-Datenverkehrs in den Entwicklernetzwerken zu beheben.
Polynom

Ich stimme zu, aber für jeden, der MAMP installiert, einen vhost einrichtet und mit der Arbeit an einer vorhandenen Site beginnt, die einen falschen Cron verwendet (wie in meinem Szenario), kann das Problem auftreten, bevor er davon Kenntnis hat. In meinem Fall möchte ich immer noch E-Mails an meine E-Mail-Adresse annehmen können, die, wenn ich mich nicht irre, durch Firewall oder Proxy beendet werden.
Christian

Haben Sie virtuelle Domains ausprobiert? Wenn Test-Domains in zählbarer Menge sind, kann es funktionieren
Lazy Badger

Habe ich Sie richtig verstanden, indem ich zusammengefasst habe: Sie möchten, dass alle ausgehenden Mails blockiert / umgeleitet werden, es sei denn, sie gehen an example.com?
Mailq

Richten Sie einfach einen DNS-Server ein, der auf alle MX-Anforderungen mit Ihrer Server-IP antwortet.
NickW

Antworten:


7

Ich denke, die einfachste Lösung, wenn Sie alle ausgehenden E-Mails abfangen möchten, fügen Sie sie in /etc/postfix/main.cf ein

virtual_alias_maps = static:your_local_user_name

Ich musste auch "sender_canonical_maps" hinzufügen, damit lokale Benutzer (zum Beispiel der Webserver) ordnungsgemäß weitergeleitet werden konnten.
Greg

Das ist einfach und unkompliziert. Ich richte dies ein, indem ich postfix auf debian installiere (apt-get install postfix), nur die lokale Postzustellung auswähle und das Obige zu main.cf. hinzufüge. Dadurch werden ALLE E-Mails an ein einzelnes lokales Konto weitergeleitet, was für mich funktioniert. Ich habe es mit sendmail in der Befehlszeile, mit der PHP-Mail-Funktion und mit SMTP an localhost getestet. Alle Nachrichten wurden an das lokale Postfach übermittelt, obwohl sie an mein Google Mail-Konto adressiert waren.
KIsmay

Dies scheint nur für die Umleitung zu lokalen Postfächern zu funktionieren. Wenn ich versuche, auf extern umzuleiten (z. B. statisch: foo@example.invalid) (natürlich mit der richtigen Adresse), schlägt Postfix immer fehl: status = bounce (Benutzer in virtueller Alias-Tabelle unbekannt).
Alexander Skwar

7

Sie sollten pcre installieren und eine virtuelle Aliasdatei erstellen:

apt-get install postfix-pcre

in mail.cf:

virtual_alias_maps = pcre:/etc/postfix/virtual

In / etc / postfix / virtual:

/.*@.*/  $user

Ersetzen Sie $ user durch das Benutzerkonto Ihrer Catchall-Mailbox. Jetzt wird jede einzelne von diesem Server gesendete E-Mail in der Catchall-Mailbox abgefangen


13. März 12:17:32 *************** postfix / cleanup [22269]: Warnung: pcre: / etc / postfix / virtual ist nicht verfügbar. nicht unterstützter Wörterbuchtyp: pcre
Alex R

@ AlexRsudo apt-get install postfix-pcre
Mirabilos

0

Stellen Sie relayhostzum Beispiel einen Server ein, der die Weiterleitung verweigert - zum Beispiel Ihren eigenen Mailserver. Auf diese Weise werden ausgehende E-Mails einfach abgelehnt und die Zustellbenachrichtigung wird an das Postmaster-Postfach auf dem Entwicklungscomputer gesendet.


Ja, ich habe diese Option gesehen, möchte aber trotzdem E-Mails an mich selbst erhalten. Also möchte ich die ausgehende Mail nicht für alles "brechen".
Christian
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.