mail() Rückmeldung bei ungültiger Empfängeradresse
Das kleinere Übel
- php
0 frankx0 Auge
0 Tom0 das kleinere Übel
Hallo Xperten,
ich versuch es mal kurz zu machen: ich arbeite gerade an einem kleinen Onlineshop (PHP). Am Ende des Bestellvorgangs muß man unter Anderem seine e-Mail-Adresse angeben.
Ich würde gern sichergehen, dass diese Adresse auch wirklich existiert - aber ungern ein Bestätigungsmail-System verwenden, sondern einfach die typische "Mail delivery failed: returning message to sender" - Nachricht erhalten. Bisher erhalte ich diese aber nicht., es kommt einfach gar nichts zurück - egal, ob die Adresse existiert oder nicht. Ich habe bereits das "Reply-To"-Segment im header (und die Forumsuche) versucht, aber auch das hat nichts gebracht.
Nun also die Frage: ist es per PHP-Mail überhaupt möglich, diese Fehlermeldung an den Shop-Admin weiterzuleiten? Und wenn ja, wie? Oder muß ich in der Webseitenconfig etwas einstellen?
Bin für jeden Rat dankbar.
Gruß kÜbel
P.S.:Habe für die Codevampire unter Euch auch mal vorsichtshalber den header-Schnipsel hinterlegt:
$fromaddress = "bestellcenter@online.shop";
$headers = "From: Bestellcenter <".$fromaddress.">".$eol;
$headers .= "Reply-To: Bestellcenter <".$fromaddress.">".$eol;
$headers .= "Return-Path: Bestellcenter <".$fromaddress.">".$eol;
$headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
if (@mail($customermail, 'Ihre Bestellung',$msg, $headers))
[gesendet] else [Fehlermeldung]
Hellihello
vermutlich musst du eine Absenderadresse ("From:..." im 4. Parameter "headers") angeben. Dorthin wird dann der Mailserver der Empfängeradresse vermutlich die Fehlermeldung senden, würd ich jetzt sagen.
Greift PHP nicht auf den SMTP-Server zu, und stellt der nicht im Fehlerfalle die Rückmeldung an den Absender zu?
Dank und Gruß,
Hallo
vermutlich musst du eine Absenderadresse ("From:..." im 4. Parameter "headers") angeben.
Das tut er schon in der _ersten_ Zeile. :-)
Greift PHP nicht auf den SMTP-Server zu, und stellt der nicht im Fehlerfalle die Rückmeldung an den Absender zu?
Ja, mit mail
wird der in der php.ini referenzierte Mailserver angewiesen, die Mail abzuschicken. Damit hat es sich aber auch schon. Gibt mail false
zurück, heißt das nur, dass die Übergabe an den Mailserver nicht geklappt hat.
Dass eine Mail nicht zugestellt werden konnte, ergäbe sich dann aus einer entsprechenden Antwort des empfangenden Mailservers (user unknown oder was auch immer).
Tschö, Auge
Hello,
Ich würde gern sichergehen, dass diese Adresse auch wirklich existiert - aber ungern ein Bestätigungsmail-System verwenden, sondern einfach die typische "Mail delivery failed: returning message to sender" - Nachricht erhalten.
Besser wäre ein direkter Zugriff auf das Log des Mailservers und dieses dann so zu erziehen, dass es auch die Mail-IDs mit speichert. Dann könntest Du recht zuverlässig ermitteln, ob eine Mail im Prinzip zugestellt wurde oder vom betreffenden Empfängerserver abgelehnt wurde.
Der Empfänger kann natürlich auch Deep Throat spielen.
Ein harzliches Glückauf
Tom vom Berg
Danke für Eure fixen Antworten. Dann werde ich mal die php.ini in die Mangel nehmen und mit den Serverlogs spielen. Ansonsten muß ich wohl in den sauren Bestätigungsmail-Apfel beißen.
Wenn aber jemand noch eine Theorie hat: immer nur her damit!
mit freundlichen Füßen
kÜbel