Christian: mail() funktion richtig benutzen.

Hallo.

Nun habe ich mehr oder weniger wieder ein Problem. ^^
Ich wollte in einem Script die mail Funktion benutzen, aber ich weiß nicht welche headerdaten wie mitgesendet werden müssen.

Könnte mir eventuell jemand eine Seite geben wo die benötigtem Headerdaten stehen. Bei http://de.php.net/mail steht nicht sonderlich was darüber.

Danke

Christian

  1. Hallo Christian.

    Ich wollte in einem Script die mail Funktion benutzen, aber ich weiß nicht welche headerdaten wie mitgesendet werden müssen.

    Empfehlenswert sind der From-Header sowie ein Content-Type-Header.

    Alles andere hängt von deinem Anwendungsfall ab.

    Einen schönen Montag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Empfehlenswert sind der From-Header sowie ein Content-Type-Header.

      Okay, Content-Type am besten text/plain, denn html mails will ich ja nisch. :D

      Alles andere hängt von deinem Anwendungsfall ab.

      Hmm.. Joa, also ich denke das reicht, wenn der Content-type text/plain is, und der from meine E-Mail Adresse.

      Mal eine Frage zu den Headern.
      Wozu dient dieser Header?
      »'X-Mailer: PHP/' . phpversion();«

      Christian

      1. Hallo Christian.

        Mal eine Frage zu den Headern.
        Wozu dient dieser Header?
        »'X-Mailer: PHP/' . phpversion();«

        Du kannst soviele eigene Header in eine Mail setzen wie es dir beliebt, wobei benutzerdefinierte Header mit einem vorangestellten „X-“ notiert werden.

        Hier handelt es sich also um einen X-Mailer-Header. Dessen Wert ergibt sich aus „PHP/“ sowie der genutzten PHP-Version.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Ich habe so ein Script nun in meinem Script. oO
          Habe folgendes Geschrieben

          »   $message = "TEXT";
          »   $header = 'Content-type: text/plain; ISO-8859-1'."\n";
          »   $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";
          »   $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";
          »   mail($_POST['mail'], "Newsletter Anmeldung bei osnabrueck-iburg.de", $message, $header);

          Das Problem bei dem ganzen nun, ist das als Header folgendes kommt: »Von: WWW daemon apache wwwrun@mc2.methfessel-computers.de«

          Wieso?
          Wie funktioniert from richtig?

          Christian

          1. Hallo Christian.

            »   $message = "TEXT";
            »   $header = 'Content-type: text/plain; ISO-8859-1'."\n";

            Ungültig …

            »   $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";

            Ebenso …

            »   $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";

            Naja, du weißt schon …

            Wieso?

            Weil Mailheader nicht mit LF (\n), sondern mit CR LF (\r\n) terminiert werden müssen. Alles Andere verstößt gegen die RFC.

            Einen schönen Montag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
            1. Habe ich geändert:
                 $header = 'Content-type: text/plain; ISO-8859-1'."\r\n";
                 $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\r\n";
                 $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\r\n";

              Funktioniert dennoch nicht. :-/

              Was nun?

              Christian

            2. Hallo

              »   $header = 'Content-type: text/plain; ISO-8859-1'."\n";

              »   $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";

              »   $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";

              Weil Mailheader nicht mit LF (\n), sondern mit CR LF (\r\n) terminiert werden müssen. Alles Andere verstößt gegen die RFC.

              Auch wenn das falsch ist, habe ich biher nicht erlebt, dass das zu Problemen geführt hat. Trotzdem schön zu wissen.

              Davon abgesehen überschreibt Christian jedesmal die Variable $header. Wenn du, Christian, da etwas anhängen willst, benutze den Punkt vor dem Gleichheitszeichen. Sonst ist nur die letzte Zeile im Header vorhanden. Außerdem ist die "Durcheinanderverwendung" von ' und " als Stringeinschließende Zeichen recht verwirrend. Habe das mal für das beispiel auf ein Zeichen beschränkt.

              $header  = "Content-type: text/plain; ISO-8859-1\r\n";  
              $header .= "From: Christian <webmaster@osnabrueck-iburg.de>\r\n";  
              $header .= "Reply-To: webmaster@osnabrueck-iburg.de\r\n";
              

              Tschö, Auge

              --
              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
              (Victor Hugo)
              Veranstaltungsdatenbank Vdb 0.1
              1. SO KLAPPT ES! :D

                Danke ^^

                Christian

              2. Hallo Auge.

                Davon abgesehen überschreibt Christian jedesmal die Variable $header.

                Stimmt auffallend. Da haben meine Augen wohl automatisch fehlerkorrigiert.

                Einen schönen Dienstag noch.

                Gruß, Ashura

                --
                sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                [HTML Design Constraints: Logical Markup]