Henryk Plötz: Bounce Email Handling

Beitrag lesen

Moin,

Ich habe folgendes Problem. Ich muss eine Mailbox auslesen (mit PHP), dann jede Nachricht checken, ob es sich um eine Email handelt, die mir sagt, das es die Emailaddresse nicht gibt, an die ich eine Email gesandt habe. An diese Mailbox kommen im Prinzip nur Fehlermeldungen. Jetzt habe ich aber das Problem, das jeder Mailserver mir anders antwortet.
Gibt es da irgendwelche Standards, wie solche Fehlermails ausschauen?

Es gibt zumindest ein starkes Indiz: Der leere Envelope-Sender (also <>) wird in der Regel für Fehlermeldungen benutzt, so verhindert man dass die Fehlermeldungen Fehlermeldungen genieren die Fehlermeldungen generieren die ...

Nun gibt es leider ein paar komische Leute die das nicht so machen und da irgendeinen Mist reinschreiben (besonders bei neunmalklugen Virenscannern scheint das beliebt zu sein), deswegen benutzen die meisten Mailinglisten und andere Systeme die automatisiert Bounces erkennen müssen in der Regel einen einfachen Trick: Beim Abschicken der eigentlichen Mail (die evt. bounced) setzen sie als Envelope-Sender eine Addresse die sonst nirgendwo verwendet wird (sowas wie foo-bounce_hierdiezielemailaddressecodiert@foodomain.example.com). Wenn dann eine Mail zurück kommt (aus welchen Gründen auch immer) geht die Fehlermeldung an den Envelope-Sender (gut, ausser natürlich bei den quadratisch doofen Virenscannern die an das Header-From: schreiben ;-) und die vorher präparierte Addresse liegt dann als Envelope-To vor.

Dann kann man relativ leicht alle Addressen raussuchen an die gesendete Mails nicht ankommen (und diese zum Beispiel von der Mailingliste nehmen). Wenn du wissen willst _welche_ Mail zurückgekommen ist musst du halt noch irgendeine Seriennummer und/oder einen zufälligen String in den Envelope-Sender tun und dir das merken.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~