Max: mail()

Tag,
gibt es eine Möglichkeit den Grund herauszufinden wieso eine eMail nicht versendet wird?

echo mail_error();
oder sowas???

Also z.B.:

$mail = mail("info@info.tst","Betreff","Text","-f info@info.tst");
if($mail){
echo 'mail ok';
} else {
//Ausgabe wieso es nicht funktionierte...
}

Weitere Frage zu dem fünften Parameter, hier muss nur eine exestierende eMail angegeben werden (die auf dem aktuellen Server registriert ist), richtig?

Danke

Gruß
Max

  1. Hallo Max,

    Für Mailversand kann ich nur sagen: verwende dafür was fertiges und nicht nur das PHP mail(). Eine Möglichkeit ist PEAR_Mail oder (wenn du z.B. über einen anderen SMTP-Server kommunizieren willst) gleich Zend_Mail.
    Ich verwende letzteres udn es ist sehr gut, kapselt schön und bringt auch saubere Fehlermeldungen (wenn das Mail-versendende Teil welche hergibt natürlich (also .B. bei SMTP)).

    Prinzipiell ist mir keine expliziete Funktion für Mail-Fehler bekannt, sorry.

    Tag,
    gibt es eine Möglichkeit den Grund herauszufinden wieso eine eMail nicht versendet wird?

    echo mail_error();
    oder sowas???

    Also z.B.:

    $mail = mail("info@info.tst","Betreff","Text","-f info@info.tst");
    if($mail){
    echo 'mail ok';
    } else {
    //Ausgabe wieso es nicht funktionierte...
    }

    Weitere Frage zu dem fünften Parameter, hier muss nur eine exestierende eMail angegeben werden (die auf dem aktuellen Server registriert ist), richtig?

    Danke

    Gruß
    Max

  2. Hallo,

    ein Blick ins PHP Manual bezüglich mail() zeigt das mail() TRUE bzw. FALSE bei erfolgreichem bzw. nicht erfolgreichen Versand zurückgibt, dieses könntest du abfragen.

    Gruß Jan

    1. Hi,

      ein Blick ins PHP Manual bezüglich mail() zeigt das mail() TRUE bzw. FALSE bei erfolgreichem bzw. nicht erfolgreichen Versand zurückgibt, dieses könntest du abfragen.

      wobei das Ergebnis lediglich dann false ist, wenn die Daten nicht an einen Mailserver übergeben werden konnten - also nichts über den Versand aussagt.

      freundliche Grüße
      Ingo

  3. Hi,

    gibt es eine Möglichkeit den Grund herauszufinden wieso eine eMail nicht versendet wird?

    Im Prinzip ja.
    Wenn Du der Mail eine ID verpasst hast, kannst Du danach bequem im Logbuch des Mailservers suchen. Dort müsstest Du auch den Grund nachlesen können, warum die Mail nicht versandt wurde.

    Wenn Du allerdings keinen Zugriff auf die Logs Deines Maildienstes hast, dann müsstest Du den Berechtigten bitten.

    Gesundheit!
    Dr. Bit