Ati: mail funktioniert, bringt aber falsche Rückmeldung

Hi Leute,

habe ein Problem: Ich versende per "mail(...)" in PHP ein Kontakt-Formular. Soweit so gut, funktioniert wunderbar.

Nun möchte ich wissen, ob die Sendung erfolgreich war und werte dies z.B. mit "if (mail(...)) echo "OK"; else echo "!!!";" aus. Obwohl die Mails einwandfrei funktionieren, wird meine Abfrage niemals "true".

Bitte um Hilfe!!!! Danke!

Ati

  1. Wie genau sieht denn der Syntax des if aus?

    1. Wie genau sieht denn der Syntax des if aus?

      so: if (mail("empfaenger@adresse.de","Kontakt",$nachricht)) echo "OK";

      Ist doch O.K., oder?

      1. Wie genau sieht denn der Syntax des if aus?

        so: if (mail("empfaenger@adresse.de","Kontakt",$nachricht)) echo "OK";

        Ist doch O.K., oder?

        Wenn true zurueckgegeben wird, dann schon (wie es sein sollte). Man kann aber unter Linux und Windows auch auf die Rueckgabe von 1 pruefen.

        Ich verwende:
        $mailcheck=mail($an,$betreff,$text,$optional);
        if($mailcheck==1)
        {
        // Mail ok
        }
        else
        {
        // Fehler aufgetreten
        }

        MfG, Thomas

      2. Hi!

        so: if (mail("empfaenger@adresse.de","Kontakt",$nachricht)) echo "OK";

        Kann sein dass ich mich irre, aber wieso hast Du nach dem if-Teil kein {}?

        if (mail("empfaenger@adresse.de","Kontakt",$nachricht)) {
        echo "OK";}
        else{
        echo "MIST!";}

        würde ich sagen.

        Oder braucht man das hier nicht?

        Grüsse

        Andreas

        1. Hallo Andreas!

          so: if (mail("empfaenger@adresse.de","Kontakt",$nachricht)) echo "OK";

          Kann sein dass ich mich irre, aber wieso hast Du nach dem if-Teil kein {}?

          Weil es nicht nötig ist.
          Nach dem if() kommt eine abhängige Anweisung oder ein Block, d.h. die {} sind zwar möglich aber nicht nötig.

          @ Ati, keine Ahnung was das sein könnte, sieht wirklich so aus als ob das Mailprogramm nen falschen Rückgabewert liefert.

          Gruss,
           Carsten