phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?AW:_=5Bphp=5D_eMail_mit_Best=E4tigung=3F?=

[php] AW: [php] eMail mit Bestätigung?

Andreas Müller php_(at)_phpcenter.de
Mon, 10 Dec 2001 10:28:37 +0100


Hallo Stephan,
Hallo Listies,

> Moin alle zusammen,
> ich habe ein Skript geschrieben, das an verschiedene eMail-Adressen aus
> meiner DB eine Mail per PHP verschickt. Leider bekomme ich keine
> Antwort vom
> Mailer-Daemon, wenn es die Adresse nicht gibt. Wenn ich z.B. eine
> Mail über
> Outlook z.B. an meinname_(at)_isthase.de schicke, bekomme ich eine
> Antwort, dass
> diese Adresse nicht existiert. Wenn ich es dann per PHP mache, gibt es
> keine. Gibt es eine Möglichkeit in PHP eine solche Antwort zu
> bekommen? Oder
> wie kann ich 100%ig überprüfen, ob es jemanden gibt?

Leider ist es nicht so einfach herauszufinden ob es eine Adresse wirklich
gibt. Ein SMTP-Server ist nicht verpflichtet zu sagen das es einen Empfänger
nicht gibt. Er weiss ja oft selbst nicht ob es diesen Empfänger gibt da er
evtl. die Mail auch nur weiterreicht. Daher kann man beim verschicken
prinzipiell eine direkte Antwort bekommen. Erst wenn die E-Mail ihren
endgültigen Bestimmungsort erreicht hat und der Mailer dort so nett ist zu
sagen das es diesen User nicht gibt (Result 550) dann kann man auf der from,
reply-to bzw. error-to Adresse eine Information bekommen. Aber auch nur in
Form einer E-Mail die man dann wieder parsen muss um festzustellen welche
Mail jetzt nicht angekommen ist. In der Praxis können gut 10 Tage zwischen
absenden und Fehlermeldung liegen. Daher empfielt es sich eine gute
Message-ID zu generieren um diese dann im Fehlerfall auswerten zu können.
Folgendes kann man an einer E-Mail-Adr 100%ig prüfen:
- Syntax: Aber bitte aufpassen ich habe oft im Web schon erlebt das eine
Adr. hugo_klaus_(at)_nix.com "fehlerhaft" war. D.h. bitte RFC studieren und nach
diesem Regelwerk E-Mails Syntaktisch prüfen. Und nicht jedes fertige Script
was man so im PHP Umfeld findet ist richtig nur weil es schon existiert.
- Mail-Domain: Die Mail-Domain kann man recht einfach anhand des MX-Records
im DNS prüfen. Wenn der nicht existiert kann es schonmal nicht gehen.

RFC zu SMTP: 821

Gruß,
Andreas


php::bar PHP Wiki   -   Listenarchive