Das kleinere Übel: mail() Rückmeldung bei ungültiger Empfängeradresse

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]

  1. 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ß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. 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

      --
      Die deutschen Interessen werden am Liechtenstein verteidigt.
      Veranstaltungsdatenbank Vdb 0.2
  2. 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

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. 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