Sebastian: Ausgabe für E-Mail in PHP formatieren

Moin,

ich habe ein kleines Problem. Ich habe ein PHP Script für ein Kontaktformular, welches perfekt funktioniert. Es gibt nur eine Kleinigkeit, die mich stört:

Wird das Formular ausgefüllt als E-Mail versandt kommt es bei mir immer unformatiert an, d.h. der ganze Inhalt des Formulars ist in einer Zeile. Bisher hatte ich das immer über Trennstriche getrennt, nur wäre es jedoch ganz nett, wenn das ganze über Umbrüche formatiert wird.

So sieht das ganze in PHP derzeit aus:

//Mailtext generieren
$to = $w_email;
$subject = "Neue Nachricht durch das Kontaktformular ";
$m_text = "Anfrage vom Kontaktformular ( $w_url )\r\n";
$m_text .= "Name: $name1 | Straße: $strasse1 | Wohnort: $ort1  |  Telefon: $telefon1  |  E-Mail: $email1 | Name: $name2  |  Straße: $strasse2  |  Wohnort: $ort2  |  Telefon: $telefon2   schreibt:\r\n\r\n";
$m_text .= $text;

Meine Frage nun, was kann ich tun, damit das Ganze ungefähr so als Mail bei mir ankommt:

Inhalt Name1
Inhalt Straße1
Inhalt Wohnort1
Inhalt Ort1

Inhalt Name2

usw.

Würde mich riesig freuen, wenn mir jemand damit helfen könnte.

Viele Grüße aus Hamburg,
seb.

  1. Hallo
    Hast du schon mal versucht den Text im Eingabeformular mit <pre></pre> zu formatieren? Dann wird der Text so ausgegeben, wie er geschrieben wird.

    Gruß
    Martin

  2. Moin moin seb

    Wird das Formular ausgefüllt als E-Mail versandt kommt es bei mir immer unformatiert an, d.h. der ganze Inhalt des Formulars ist in einer Zeile.

    Eine (ernstgemeinte) Frage: Warum machst du so etwas überhaupt selber? Für so etwas gibt es doch genug Lösungen...

    Gruß,
    Marc.

    --
    sh:( fo:| ch:? rl:? br:> n4:& ie:% mo:} va:} de:] zu:) fl:( ss:| ls: js:(
    http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A%28+fo%3A%7C+ch%3A%3F+rl%3A%3F+br%3A%3E+n4%3A%26+ie%3A%25+mo%3A%7D+va%3A%7D+de%3A%5D+zu%3A%29+fl%3A%28+ss%3A%7C+ls%3A+js%3A%28
  3. Hi!
    Also ich machs immer so:

    $tabulator  = ":\t";

    if($_POST)
    {
     $strMailtext = "";

    while(list($Name,$value) = each($_POST))
     {

    $Mailtext .= $Name.$tabulator.$value."\n";

    }

    mail($Empfaenger, $Subject, $Mailtext, "From: ".$From)
      or die("Die Mail konnte nicht versendet werden.");
    header("Location: $url");
    exit;
    }

    Die Ausgabe in der Mail schaut dann so aus:

    name_feld1:      inhalt
    name_feld2:      inhalt

    Die hier undeklarierten Variablen müssen natürlich vorher deklariert werden.
    ---------------------------------------------------------

    Grüße,

    Fabian St.