Zeilenumbruch in einer Textmail

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeilenumbruch in einer Textmail

    Hallo Leute!

    Folgendes Problem:
    Versende eine E-Mail per Formular und versuche die Eingaben per \r\n in die nächste Zeile zu rücken.
    Wie unten im Code beschrieben hat es funktioniert bei einer Seite. Allerdings wollte ich das jetzt wieder benutzen und nun funktioniert es nicht mehr.

    PHP-Code:
    $to=$to;
    $header='FROM: "'.$vorname.'" "'.$name.'"<'.$email.'>\r\n';
    $header .= "MIME-Version: 1.0";
    $betreff="Nachricht vom E-Mail Formular der Website";
    $nachricht.="\r\n\r\nNAME: ".$name.
    \r\nVORNAME: "
    .$vorname.
    \r\nTELEFON: "
    .$telefon.
    \r\nE-MAIL: "
    .$email.""
    Kann es daran liegen, dass es sich um verschiedene Hoster handelt, bei denen die Seiten auf dem Server liegen?

    Sonntagsgruß und danke sehr!
    Zuletzt geändert von Smartsoul; 25.02.2007, 19:25.
    [FONT=arial][COLOR=orangered]
    Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
    [/COLOR]

    ... und nicht vergessen: der Ton macht die Musik ;-)

    ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
    [/FONT]

  • #2
    Eigentlich musst du es nur mit \n machen.

    PHP-Code:
    $nachricht.=

    " \n NAME: ".$name.
     \n VORNAME: "
    .$vorname.
     \n TELEFON: "
    .$telefon.
     \n E-MAIL: "
    .$email.""
    Sollte dann funktionieren.

    Kommentar


    • #3
      Wie meine Recherche ergab, streiten sich die Geister, aber es gibt verschiedene Stimmen, die behaupten, dass es abhängig vom OS ist, wie die Zeichen interpetiert werden.

      windows = \r\n
      unix = \n
      mac = \r

      Habe aber auch andere Meinungen dazu gelesen. Ist für mich in der Tiefe der Diskussion nicht mehr so einfach nachvollziehbar und schon gar nicht auf die Schnelle überprüfbar gewesen.

      Thread auf SelfHTML

      Allerdings hilft mir das nicht bei meinem Problem (s.o.).

      Gibt es noch andere Tipps?
      [FONT=arial][COLOR=orangered]
      Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
      [/COLOR]

      ... und nicht vergessen: der Ton macht die Musik ;-)

      ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
      [/FONT]

      Kommentar


      • #4
        ... und nun funktioniert es nicht mehr.
        was bedeutet das? wie sieht die mail aus, die beim client ankommt?

        Kommentar


        • #5
          Es sieht so aus, dass in der Mail keine Zeilenumbrüche vorhanden sind.

          Der ganze Text ist enthalten. Die Daten Name usw. sind ebenfalls enthalten.

          Allerdings werden die gewünschten Zeilenumbrüche nicht nachvollzogen, die ich dem Empfänger aus Lesbarkeitsgründen gerne einbauen wollte.
          [FONT=arial][COLOR=orangered]
          Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
          [/COLOR]

          ... und nicht vergessen: der Ton macht die Musik ;-)

          ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
          [/FONT]

          Kommentar


          • #6
            ungefähr so:

            hallo und so weiter ---- NAME: Habakuk VORNAME: Hans TELEFON: 0889533443 E-MAIL: test@bla.de
            [FONT=arial][COLOR=orangered]
            Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
            [/COLOR]

            ... und nicht vergessen: der Ton macht die Musik ;-)

            ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
            [/FONT]

            Kommentar


            • #7
              Sonst schon mal daran gedacht dir die Daten per HTML E-Mail zu schicken zu lassen?!

              Musst dann blos hinter

              PHP-Code:
              $nachricht = 
              "<HTML>

              <HEAD>
              </HEAD>
              <BODY>

              Hier halt mit HTML die Form gestalten und deine Daten per echo ausgeben lassen.

              so z.B.

              <TABLE>
              <TR>
              <TD> NAME: <?php echo "$name?></TD>
              </TR>
              </TABLE>

              </BODY>
              </HTML>"
              Denke das müsste auch funktionieren.
              Musst keine Tabellen benutzen kannst es auch einfach per <BR> machen. Da du ja nur die Daten erhalten sollst is eine HTML E-mail auch nicht das Problem.

              Kommentar


              • #8
                HTML Mail kommt als Plaintext an

                Nachdem mein gestriges Posting keine zufriedenstellenden Ergebnisse gebracht hat, habe ich heute versucht das Mail aus den Formulardaten als HTML-Mail zu versenden.

                Zunächst habe ich meinen Header angepasst, aber leider scheint es da immer noch ein Problem zu geben.

                PHP-Code:
                $to=$to;
                $header='FROM: "'.$vorname.'" "'.$name.'"<'.$email.'>\r\n';
                $header .= 'MIME-Version: 1.0\r\n';
                $header .= 'Content-Type: text/html\r\n';
                $header .= "Content-Transfer-Encoding: 8bit\r\n";
                $header .= "Content-Description: HTML";
                $header .="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n
                <html>\r\n<body>\r\n
                <p>Name: "
                .$name."</p>\r\n
                <p>Vorname: "
                .$vorname."</p>\r\n<p>Telefon: ".$telefon."</p>\r\n
                <p>E-Mail: "
                .$email."</p>\r\n
                <p><h1>Nachricht an Empfänger</h1></p>\r\n
                <p>"
                .$nachricht."</p>\r\n</body>\r\n</html> ";
                $betreff="Nachricht vom E-Mail Formular der Website"
                Die Mail, die jetzt bei mir ankommt ist aber noch Plaintext und keineswegs in HTML???

                Sieht jetzt so aus:

                Message-Id: <20070226115254.A05E560C3FC@45server.de>
                Date: Mon, 26 Feb 2007 12:52:54 +0100 (CET)

                <html> <body>
                <p>Name: Peter</p>
                <p>Vorname: Hans</p>
                <p>Telefon: 0889533443</p>
                <p>E-Mail: test@test.de</p>
                <p><h1>Nachricht an K</h1></p>
                <p>und noch ein test</p>
                </body> </html>

                Kann mir jemand helfen, den Fehler zu finden? THX
                [FONT=arial][COLOR=orangered]
                Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                [/COLOR]

                ... und nicht vergessen: der Ton macht die Musik ;-)

                ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                [/FONT]

                Kommentar


                • #9
                  Was übergibst du denn als 3. Parameter an mail()?

                  Kommentar


                  • #10
                    Habe jetzt im Header folgendes eingesetzt:

                    alte Version:
                    PHP-Code:
                    $header .= 'MIME-Version: 1.0\r\n';
                    $header .= 'Content-Type: text/html\r\n';
                    $header .= "Content-Transfer-Encoding: 8bit\r\n"
                    neue Version:
                    PHP-Code:
                    $header .= "MIME-Version: 1.0\n";
                    $header .= 'Content-Type: text/html; charset="iso-8859-1"\n';
                    $header .= 'Content-Transfer-Encoding: 8bit'
                    Und siehe da, die Mail kommt als HTML-Mail an!

                    Letzte Frage:

                    Weiß jemand, ob es an den [COLOR=blue]\r[/COLOR] gelegen hat oder an der Benennung des Charsets? Oder an was Anderem?
                    [FONT=arial][COLOR=orangered]
                    Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                    [/COLOR]

                    ... und nicht vergessen: der Ton macht die Musik ;-)

                    ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                    [/FONT]

                    Kommentar


                    • #11
                      Original geschrieben von Smartsoul
                      Weiß jemand, ob es an den [COLOR=blue]\r[/COLOR] gelegen hat oder an der Benennung des Charsets? Oder an was Anderem?
                      Vermutlich eher daran, dass du nicht mit Strings umgehen kannst - und dir der Unterschied zwischen " und ' nicht klar ist, was die Auswertung von Sonderzeichen wie \r und \n angeht.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        PHP-Code:
                        "\r\n" !== '\r\n' 
                        Wobei nur erste Version funzt...

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Vielen Dank an alle!

                          Leider stolper ich da [COLOR=blue]'[/COLOR] und da [COLOR=blue]"[/COLOR] immer wieder drüber. Aber es ist nicht hoffnungslos. Das Stolpern wird schon weniger.
                          Zuletzt geändert von Smartsoul; 26.02.2007, 15:05.
                          [FONT=arial][COLOR=orangered]
                          Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                          [/COLOR]

                          ... und nicht vergessen: der Ton macht die Musik ;-)

                          ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                          [/FONT]

                          Kommentar

                          Lädt...
                          X