2012-04-05 6 views
1

Wir haben eine große Liste von E-Mail-Adressen in unserer Datenbank, aus der Personen Newsletter für eine unserer Websites abonniert haben.Automatisch zurückgewiesene E-Mail-Adressen aus der Datenbank entfernen?

Wir haben einen Cron-Job, der PHP nutzt, um die E-Mail-Adresse aus der Datenbank zu holen und die Newsletter zu versenden.

Wenn eine E-Mail zurückgeschickt wird, erhält der Cron-Job-Administrator eine E-Mail darüber.

Wenn wir möchten, dass ein Skript die unzustellbare E-Mail-Adresse automatisch aus der Datenbank löscht, was ist der beste Weg, dies zu erreichen? Gibt es eine Möglichkeit, gebrockene E-Mails zu protokollieren und dann ein Skript das Protokoll analysieren zu lassen und dann die falschen E-Mail-Adressen zu entfernen? Oder gibt es eine Möglichkeit, über Google Bounce-E-Mail-Adressen zu testen?

+1

Auf welchem ​​Betriebssystem und auf welchem ​​Webserver läuft dies? Ich nehme seinen Linux/Apache an, aber vielleicht möchten Sie diese Tags einschließen, da diese Frage etwas Webserver/cron sysadmin knowhow und nicht nur email/php einschließt! –

+0

PHP kann auf IMAP- und POP3-Mailboxen zugreifen, aber das Testen auf Bounce-Nachrichten ist ziemlich unzuverlässig. Der Bounce kann von überall her kommen und sein Format/Inhalt ist jedes Mal sehr unterschiedlich. –

Antwort

2

Was Sie tun möchten, ist eine "universelle" Bounce-E-Mail-Adresse (sagen wir, [email protected]). Sie möchten den Header "Return-Path" auf "[email protected]" setzen.

Dann haben Sie einen externen Prozess überprüfen Sie den Posteingang "[email protected]" für Nachrichten. Verwenden Sie dieses E-Mail-Konto nicht für andere Zwecke als für Bounces.

Sie erhalten Bounces, Urlaubsnachrichten und andere Arten von E-Mails in diesem Posteingang. Sie müssen nur trainieren Ihr Parser nach bestimmten Mustern in der E-Mail suchen. Ihre Musterliste wird zunächst nicht vollständig sein, aber Sie müssen diesen Posteingang von Zeit zu Zeit manuell überprüfen, damit Sie weiter Ihren Ihr Parser trainieren können.

Ihr Parser kann einfach sein und nach einfachen Teilzeichenfolgen oder sogar regulären Ausdrücken suchen. In den meisten Fällen sind reguläre Ausdrücke nicht erforderlich.

0

Was Sie brauchen, ist Bounce-Parser.

Sie können Bounce-E-Mails über POP3 oder IMAP empfangen oder sogar von Dateien lesen (wenn Sie Ihren eigenen MTA konfigurieren können). Bounce-E-Mails werden an die E-Mail-Adresse gesendet, die in der Kopfzeile "Return-Path" angegeben ist.

Es gibt keinen guten Open-Source-Bounce-Parser für PHP, wie ich weiß. Sie können Ihre eigenen schreiben. Sie können damit beginnen, Parser von Mailman zu entdecken (geschrieben in Python).

Verwandte Themen