Dies hängt mit dieser Frage zusammen:
linux - Wie bekomme ich einen Bounceback-Bericht für meine Newsletter-Anmeldung? - Serverfehler
Angenommen, ich generiere E-Mail-Adressen wie diese, wenn ich Newsletter versende, um Bounces zu identifizieren und sie von meinem Newsletter abzubestellen: [email protected]
Ich nehme an, ich würde das auf dem Rückweg benutzen, oder?
Wie würde ich es dann in Postfix einrichten, um all diese Adressen mit dem Präfix "Bounce-" in einer Mailbox zu sammeln?
Schließlich habe ich gehört, dass Leute einen weichen Abpraller gegen einen harten Abpraller erwähnen. Kann jemand die Unterschiede erklären und wie sie gezählt werden sollten, um zu wissen, wann jemand dauerhaft aus einem E-Mail-Newsletter entfernt werden muss?
email
postfix
email-server
Brian Armstrong
quelle
quelle
Message-Id
in Ihren Header einfügen können , muss diese zurückgesendet werden genug sein, um zu überprüfen, wer wer ist.Antworten:
Die genaue Antwort auf Ihre Frage (Umgang mit der
[email protected]
Adresse) hängt davon ab, wie Ihr Server für den Empfang von E-Mails konfiguriert ist. Wennexample.com
es sich um die virtuelle Domäne handelt, können Sie die Nachrichten am besten in der[email protected]
Mailbox sammeln (vorausgesetztrecipient_delimiter = -
).Wenn
example.com
es sich um die lokal bereitgestellte Domäne für den Server handelt (E-Mail wird an tatsächliche Systemkonten übermittelt), können Sie eine.forward
Datei zum Basisverzeichnis desbounce
Benutzers hinzufügen , die an ein Programm übermittelt wird, das die Bounce-Informationen analysiert und in einer Datenbank oder Datei aufzeichnet . Sieheman local
für weitere Informationen über das.forward
Format und wie ein Programm zu liefern.Was wir tun, da wir Nachrichten für eine große Anzahl von Domänen senden, ist die Verwendung
bounces.example.com
als unsere VERP-Domäne. Diese Domain muss hinzugefügt werdenrelay_domains
./etc/postfix/transport_maps
Mit diesem Inhalt erstellen :Fügen Sie dann eine Zeile hinzu, die der folgenden ähnelt
/etc/postfix/master.cf
:Das
bounce_handler.py
Skript akzeptiert die VERP-Adresse als Befehlszeilenoption, analysiert sie und führt die erforderlichen Datenbankaktualisierungen durch, um den Bounce aufzuzeichnen.quelle
Tatsächlich ist die Antwort von Instyle sehr schwierig zu implementieren, wenn Sie viele verschiedene Domänen unterstützen möchten, und sie ist falsch, weil:
a) Mit seinem Beispiel von
transport_maps
werden alle an diese Domain gesendeten E-Mails an diesen bestimmten Dienst gesendet, ohne dass es darauf ankommt, ob die E-Mails zurückgesendete E-Mails sind oder nicht. Da es sich um einen bestimmten Domainnamen handelt, sollten E-Mails zwar nur zurückgesendet werden ... dies kann jedoch nicht garantiert werden.b) Die an Ihr Skript gesendeten Daten sind die E-Mail selbst und nicht die Bounce-Nachricht. Mit anderen Worten, Ihr Code hat möglicherweise keine Ahnung, warum die E-Mail zurückgeschickt wurde (dh durch lokales Zurückschicken erhalten Sie nur die ursprüngliche E-Mail).
Die korrekte Methode zur Einrichtung in Postfix ist die Verwendung der Bounce-Benachrichtigungsklasse.
1) In /etc/postfix/main.cf
2) In / etc / postfix / transport_maps
Wie Sie sehen, weisen wir Postfix an,
[email protected]
immer dann zu verwenden, wenn eine E-Mail zurückgeschickt wird. Dann in der Transportkarte, umbulkbounce
als Dienst zu verwenden, um jede E-Mail-Adresse zu verarbeiten[email protected]
.Schließlich können Sie
bulkbounce
mit Ihrem Skript definieren :3) In /etc/postfix/master.cf
Für dieses Skript benötigen Sie einen Benutzer.
nobody
ist auch eine gute Wahl. Wenn Sie einen bestimmten Benutzer haben möchten, können Sie ihn erstellen mit:Ohne das Skript
master.cf
werden die E-Mails an das Bulkbounce-Konto gesendet. Wenn Sie also ein Skript haben, das E-Mails aus Dateien analysiert, funktioniert dies ohne die Änderungentransport_maps
undmaster.cf
.Aus einem Kommentar unten:
quelle
+id@
kann eine Art Umschlag sein?Die meisten modernen Mailinglisten-Programme können bereits mit VERP-Nachrichten umgehen, wenn der MTA so konfiguriert ist, dass sie an die Mailinglisten-Software zurückgegeben werden. Im Falle von GNU Mailman sollten Sie die FAQ- Seite mit dem passenden Namen "Wie verwende ich VERP mit einem - Begrenzer (Postfix recipient_delimiter)?"
Wenn Sie Ihre eigene Newsletter-Software erstellen, um dies zu bewältigen, sollten Sie sich fragen, warum Sie das Rad neu erfinden, anstatt vorhandene Anwendungen zu verwenden, die die Aufgabe einfach und problemlos für Sie erledigen können.
quelle