Bounce-Mails automatisch auslesen/auswerten?
Bounce-Mails automatisch auslesen/auswerten?
Hi,
ich schicke mehrmals im Jahr Massenmails an meine Mitglieder (benutze dazu den Mod "Mega Mail").
Dann korrigiere ich anhand der Bouncemails die Einträge in der DB und habe für Bouncemail-Mitglieder im ACP die User-Einstellung "Muss Mailadresse korrigieren". dies führt dazu, dass das Mitglied nur begrenzten Zugang zu den Funktionen hat, bis die Mailadresse geändert wurde.
Das ist mühselig.
Heute habe ich knapp 300 Bouncemails bekommen (die Mail ging an 25.000 Mitglieder raus).
Einige dieser Bouncemails sind Zusammenfassungen von 20-50 Mailadressen, die nicht mehr aktuell sind.
Ist also eine Höllenaufgabe, diese alle zu "Flaggen".
Kann man dies irgendwie automatisieren?
Natürlich müsste das Regelbasiert passieren, da auch viele Out-of-Office-Meldungen dabei sind, die nicht behandelt werden sollen.
Gruss
Holger
ich schicke mehrmals im Jahr Massenmails an meine Mitglieder (benutze dazu den Mod "Mega Mail").
Dann korrigiere ich anhand der Bouncemails die Einträge in der DB und habe für Bouncemail-Mitglieder im ACP die User-Einstellung "Muss Mailadresse korrigieren". dies führt dazu, dass das Mitglied nur begrenzten Zugang zu den Funktionen hat, bis die Mailadresse geändert wurde.
Das ist mühselig.
Heute habe ich knapp 300 Bouncemails bekommen (die Mail ging an 25.000 Mitglieder raus).
Einige dieser Bouncemails sind Zusammenfassungen von 20-50 Mailadressen, die nicht mehr aktuell sind.
Ist also eine Höllenaufgabe, diese alle zu "Flaggen".
Kann man dies irgendwie automatisieren?
Natürlich müsste das Regelbasiert passieren, da auch viele Out-of-Office-Meldungen dabei sind, die nicht behandelt werden sollen.
Gruss
Holger
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?g
Oha, keine so leichte Aufgabe.
Man müsste erst einmal die E-Mails klassifizieren. Eben wie du schon richtig sagtest, sind z. B. u. a. die Abwesenheiten auszufiltern.
Das wäre der erste Regelsatz.
Und dann müsste man aus dem Rest die E-Mail-Adressen rausfischen, um diese dann weiter verarbeiten zu können.
Wobei dabei die Frage ist, ob der ursprüngliche Header mit zurückkommt oder die Adresse irgendwo im Text steht...
Das sind, gerade für E-Mail-Adressen keine gar so einfachen regulären Ausdrücke...
Letztlich wären dann alle nicht eindeutig zugeordneten E-Mails auch irgendwo anzuzeigen, um diese manuell abzuarbeiten.
Da stellt sich aber noch eine andere grundsätzliche Frage: Wie kommt man überhaupt an die E-Mails dran?
Man müsste erst einmal die E-Mails klassifizieren. Eben wie du schon richtig sagtest, sind z. B. u. a. die Abwesenheiten auszufiltern.
Das wäre der erste Regelsatz.
Und dann müsste man aus dem Rest die E-Mail-Adressen rausfischen, um diese dann weiter verarbeiten zu können.
Wobei dabei die Frage ist, ob der ursprüngliche Header mit zurückkommt oder die Adresse irgendwo im Text steht...
Das sind, gerade für E-Mail-Adressen keine gar so einfachen regulären Ausdrücke...
Letztlich wären dann alle nicht eindeutig zugeordneten E-Mails auch irgendwo anzuzeigen, um diese manuell abzuarbeiten.
Da stellt sich aber noch eine andere grundsätzliche Frage: Wie kommt man überhaupt an die E-Mails dran?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Naja, es lässt sich eine separate Mailadresse einrichten, so eine Reply-To-Adresse.
Und es gibt ja jetzt schon Mods, die ein Postfach abfragen, z.B. Mail2Forum.
Und es gibt ja jetzt schon Mods, die ein Postfach abfragen, z.B. Mail2Forum.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
Re: Bounce-Mails automatisch auslesen/auswerten?
Meistens enthält die Mail die zurückkommt folgendes:
Status: 5.2.2 (mailbox full) smtp; 552 RCPT TO:<mailadresse> Mailbox disk quota exceeded
Manchmal mitThis is the mail system at host mailserver.domain.tld.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<mailadresse>: host mailserver.domain.tld[IP] said: 551
<mailadresse> is a deactivated mailbox (in reply to RCPT TO command)
Final-Recipient: rfc822; mailadresse
Original-Recipient: rfc822;mailadresse
Action: failed
Status: 5.0.0
Remote-MTA: dns; mailserver.domain.tld
Diagnostic-Code: smtp; 551 <mailadresse> is a deactivated mailbox
Status: 5.2.2 (mailbox full) smtp; 552 RCPT TO:<mailadresse> Mailbox disk quota exceeded
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?
Wenn die E-Mails nicht sofort abgeholt werden, kann man das auch direkt aus dem Postfach vom Server holen und prüfen.
Aber wenn sie erst einmal weg sind, geht es ja nun mal nicht mehr.
Daher meine Frage, wie die E-Mails zur Prüfung kommen können.
Und irgendwann willst du ja auch die "echten" E-Mails haben, oder?
Aber wenn sie erst einmal weg sind, geht es ja nun mal nicht mehr.
Daher meine Frage, wie die E-Mails zur Prüfung kommen können.
Und irgendwann willst du ja auch die "echten" E-Mails haben, oder?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Hi,
das ganze könnte eventuell folgendermassen klappen:
Beispielcode:
Ausgabe:
In diesem Teil der Regexp:
kannst du die entsprechenden Statusmeldungen die erkannt werden noch erweitern, jeweils in Klammern und getrennt durch |
Beim durchlaufen des Arrays mit den Mailadressen musst du dann jedoch noch die < und > entfernen.
Die Regexp zur Erkennung der Mailadresse ist übrigens nicht von mir, die habe ich mal irgendwo gefunden als ich nach einer Möglichkeit gesucht habe Mailadressen zu "validieren" ich habe die nur entsprechen "erweitert" Ich fürchte jedoch, wenn Du 300 Bouncemails abrufen willst könnte dies zu einem Laufzeitproblem werden.
Gruss
Martin
das ganze könnte eventuell folgendermassen klappen:
Beispielcode:
Code: Alles auswählen
$subject ="
This is the mail system at host sp01.blablubb.de.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<fubar@foo.at>: Host or domain name not found. Name service error
for name=foo.at type=A: Host found but no data record of requested
type
<placeholder@domain.bar> is a deactivated mailbox
<mustermann@blablubb.de> Benutzer hat zuviele Mails auf dem Server.
";
preg_match_all('/(<(?:[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])>)((: Host or domain name not found.)|( is a deactivated mailbox))/i', $subject, $result, PREG_PATTERN_ORDER);
print_r($subject);
echo "\n\n";
print_r($result[1]);
This is the mail system at hostsp01.blablubb.de.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<fubar@foo.at>: Host or domain name not found. Name service error
for name=foo.at type=A: Host found but no data record of requested
type
<placeholder@domain.bar> is a deactivated mailbox
<mustermann@blablubb.de> Benutzer hat zuviele Mails auf dem Server.
Array
(
[0] => <fubar@foo.at>
[1] => <placeholder@domain.bar>
)
Wurde nicht erkannt da die Mailbox "nur" voll ist. Wobei volle Mailboxen auch auf inaktivität deuten können<mustermann@blablubb.de> Benutzer hat zuviele Mails auf dem Server.
In diesem Teil der Regexp:
Code: Alles auswählen
((: Host or domain name not found.)|( is a deactivated mailbox))
Beim durchlaufen des Arrays mit den Mailadressen musst du dann jedoch noch die < und > entfernen.
Die Regexp zur Erkennung der Mailadresse ist übrigens nicht von mir, die habe ich mal irgendwo gefunden als ich nach einer Möglichkeit gesucht habe Mailadressen zu "validieren" ich habe die nur entsprechen "erweitert" Ich fürchte jedoch, wenn Du 300 Bouncemails abrufen willst könnte dies zu einem Laufzeitproblem werden.
Gruss
Martin
Re: Bounce-Mails automatisch auslesen/auswerten?
Eventuell kann man ja die Mails einzeln abrufen, verarbeiten, löschen und dann die nächste.
Das postfach könnte man ausschliesslich für Bouncemails verwenden, z.B. mit der Mailadresse bounce@domain.tld
Das postfach könnte man ausschliesslich für Bouncemails verwenden, z.B. mit der Mailadresse bounce@domain.tld
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?
Willst du denn die E-Mails dahin weiterleiten? Auch nicht gerade ohne...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Gibt ja 2 Möglichkeiten:
1) man schickt die Massemail mit dem Absender bounce@domain.tld und hat dann die Rückläufer separiert
oder
2) man leitet mit Hilfe von GMail-Filter die Mails mit den Fehlermeldungen an eine andere separate Mailadresse (anderes Konto) weiter
Oder?
1) man schickt die Massemail mit dem Absender bounce@domain.tld und hat dann die Rückläufer separiert
oder
2) man leitet mit Hilfe von GMail-Filter die Mails mit den Fehlermeldungen an eine andere separate Mailadresse (anderes Konto) weiter
Oder?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?
Nun ja, an wen senden denn die Absender? Doch wohl an z. B. die Board-Adresse wie noreply@domain.tdl.
Also müsste man dann auch dort die Bounce-Mails abholen, oder nicht
Klar sein müssten dann aber 2 Dinge:
Entweder alle nicht als Bounce-Mail erkannten E-Mails würden verworfen oder an eine fest definierte E-Mail weitergeleitet...
Also müsste man dann auch dort die Bounce-Mails abholen, oder nicht
Klar sein müssten dann aber 2 Dinge:
Entweder alle nicht als Bounce-Mail erkannten E-Mails würden verworfen oder an eine fest definierte E-Mail weitergeleitet...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Naja, ich kann ja in dem Moment die Board-Adresse ändern, sodass sie die Bounceadresse ist.
Nach dem Versand kann die Adresse ja wieder zurückgestellt werden.
Nach dem Versand kann die Adresse ja wieder zurückgestellt werden.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?
Das wäre auch eine Möglichkeit...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Problematisch könnten die Mails mit zusammangefassten Fehlermeldungen werden:
Hi. This is the qmail-send program at webapp01.gremminger.g30.se.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<abc@hotmail.se>:
65.55.37.72 does not like recipient.
Remote host said: 550 Requested action not taken: mailbox unavailable
Giving up on 65.55.37.72.
<def@hotmail.com>:
65.54.188.72 does not like recipient.
Remote host said: 550 Requested action not taken: mailbox unavailable
Giving up on 65.54.188.72.
<ghi@bredband.net>:
195.54.106.237 does not like recipient.
Remote host said: 550 #5.1.0 Address rejected ghi@bredband.net
Giving up on 195.54.106.237.
<jkl@hotmail.com>:
65.54.188.94 does not like recipient.
Remote host said: 550 Requested action not taken: mailbox unavailable
Giving up on 65.54.188.94.
--- Below this line is a copy of the message.
Return-Path: <boardmail@domain.net>
Received: (qmail 5106 invoked by uid 48); 19 Dec 2011 04:08:48 -0500
To:
Subject: God Jul och Gott Nytt År från oss på Maskinisten!
Reply-to: webbmaster@maskinisten.net
From: webbmaster@maskinisten.net
Message-ID: <a23e64d88de8d26fea44a9fc7614d8a2@www.domain.net>
MIME-Version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8bit
Date: Mon, 19 Dec 2011 04:08:47 -0500
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: PHP
X-MimeOLE: Produced By phpBB2
X-AntiAbuse: Board servername - www.domain.net
X-AntiAbuse: User_id - 3
X-AntiAbuse: Username - Meine UserNick
X-AntiAbuse: User IP - 193.201.169.187
Detta är ett meddelande från administratören av "Domain". Om meddelandet är
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
Re: Bounce-Mails automatisch auslesen/auswerten?
Wenn ich darüber nachdenke ... es würde ja auch ein Script reichen, das aus einem Textfeld "einfach" aus der Syntax <Adresse>: die Adresse rausfiltert und abarbeitet.
Dann müsste man nur die Fehlermails öffnen, den Text in das Feld kopieren und abschicken ...
Dann müsste man nur die Fehlermails öffnen, den Text in das Feld kopieren und abschicken ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Bounce-Mails automatisch auslesen/auswerten?
Ja nicht nur "die" Adresse, in deinem letzten Beispiel gerade die nicht, sondern die Adressen laut E-Mail-Text...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Re: Bounce-Mails automatisch auslesen/auswerten?
Ich denke eines der größten Probleme dürfte sein, dass die Rückmeldungen scheinbar nicht standartisiert sind.
Ich habe mal meine mails vom Mailerdeamon durchgeschaut und war erstaunt wie unterschiedlich doch teilweise die Rückmeldungen bei z.B. unbekannter Empfänger sein können. Der statuscode ist entweder 550 oder 554 wobei 550 eben auch eine volle Mailbox abdeckt.
Man müsste also wirklich nach dem Fehlermeldungstext gehen. Somit wird es schon schwierig.
Einfacher würde es schon, wenn man ein Formular nimmt und in eine Textarea alle Meldungen wie diese
Daraus dann die Mailadressen zu extrahieren und in ein Array zu packen wäre dann nichtmehr so problematisch.
-MAD
Ich habe mal meine mails vom Mailerdeamon durchgeschaut und war erstaunt wie unterschiedlich doch teilweise die Rückmeldungen bei z.B. unbekannter Empfänger sein können. Der statuscode ist entweder 550 oder 554 wobei 550 eben auch eine volle Mailbox abdeckt.
Man müsste also wirklich nach dem Fehlermeldungstext gehen. Somit wird es schon schwierig.
Einfacher würde es schon, wenn man ein Formular nimmt und in eine Textarea alle Meldungen wie diese
kopiert. Also im Grunde eine Vorauswahl der Mailadressen trifft. Die Mailadressen, welche nur eine Volle Mailbox haben werden nicht mitkopiert oder später rausgelöscht.<abc@hotmail.se>:
65.55.37.72 does not like recipient.
Remote host said: 550 Requested action not taken: mailbox unavailable
Giving up on 65.55.37.72.
Daraus dann die Mailadressen zu extrahieren und in ein Array zu packen wäre dann nichtmehr so problematisch.
-MAD
Re: Bounce-Mails automatisch auslesen/auswerten?
Genau das meinte ich ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se