PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP mail erkennt keine Versandfehler mehr


WhiteVelvet
2012-08-02, 18:41:30
Hallo zusammen,

ich habe vor Ewigkeiten mal ein PHP-Script geschrieben, dass aus einer Newsletter-Datenbank Mails an x Personen verschickt hat. Habe da immer abgefragt


if (mail($ds[mail], $betreff, $message, $header))
alles super
else
nix super


Das klappte damals auch... er hatte mir dann eine Liste ausgegeben


Mail 1... ok
Mail 2... ok
Mail 3... error
Mail 4... ok
usw.


So konnte ich nicht mehr korrekte Mailadressen erkennen. Das klappte damals auf dem damaligen Server.

Heute habe ich wieder ein ähnliches Script, habe den Quelltext im Prinzip übernommen. Aber er gibt nun keine Fehler mehr aus. Obwohl ich absichtlich eine nicht existente Mailadresse in der Datenbank hinterlegt habe, sagt er "Mail x... ok"... woran kann das liegen? Hat sich etwas in der neuen PHP Version verändert, liegts am Server, der nun bei 1&1 steht und nicht bei Hosteurope...

Sephiroth
2012-08-02, 18:50:25
Das ist zufall. Der rc sagt nur aus, ob die mail zum Versand akzeptiert wurde oder nicht (platzieren in mailqueue). Den Status der Zustellung kann es nicht erkennen.

Steht auch so in der Doku http://de2.php.net/manual/de/function.mail.php ;)
Gibt TRUE zurück, wenn die E-Mail erfolgreich für den Versand akzeptiert wurde, sonst FALSE.

Dass eine E-Mail für den Versand akzeptiert wurde, bedeutet nicht, dass sie auch wirklich den gewünschten Empfänger erreichen wird.

RattuS
2012-08-02, 21:35:39
Wenn es dir um gültige Mail-Adressen geht, prüf' doch vor dem Aufruf von mail() die Adresse einfache via regulärem Ausdruck. Alles, was du dazu brauchst, ist preg_match() und:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

Gast
2012-08-02, 21:51:30
Und wenn man nicht so auf Regex Bloat steht, nimmt man:
php.net/filter

WhiteVelvet
2012-08-03, 08:53:01
Vielleicht hab ich mich etwas misverständlich aufgedrückt... ich meinte nicht "korrekte Mailadresse" sondern "existente Mailadresse". Gut, dann war es damals wirklich Zufall, dass der Server das erkannt hat. Hab ich Pech gehabt, aber so wichtig ist das auch nicht.

Obwohl... was ist mit dem RETURN-PATH? Würde derjenige darin eine Fehlermeldung zugestellt bekommen? Dort könnte man den Webmaster angeben.