Zeilenumbrüche bei Email

Elbarto

Grünschnabel
Hallo,

kann mir evtl. kmd helfen ich möchte ein Kontaktformular auf meiner Homepage per php versenden. Die Email die man erhält soll schön übersichtlich geglieder sein:
z.B.

Name: Mustermann
Vorname: Max
Email Adresse: m.mustermann@test.de
Nachricht:

Wie bekomme ich nun meine Zeilenumbrüche hin?:rolleyes:
mit <br> funktioniert es bei Outlook jedoch nicht im Internet (z. B. web.de)

hat jmd. solch eine Erfahrung schon mal gehabt?

Danke schonmal für die Antworten.

Gruß Matthias
 
Hab zwar keine Ahnung vom Emails unter PHP, jedoch:

Ein nicht-HTML-Zeilenumbruch geht normalerweise mit \n.
Jedoch nicht innerhalb der einfachen ', sondern nur innerhalb der dippelten "

PHP:
$string"Hallo\nNeue Zeile";
 
Sorry das haut nicht hin mein Script sieht folgendermaßen aus:

PHP:
/* Empfänger */

$empfaenger = $_POST['empfaenger01'];


/* Absender */
$absender = '"Kontaktformular" <Homepage@xyz.de>';

/* Betreff */
$subject = $_POST['betreff'];

/* Nachricht */
$email = $_POST['email'];
$name = $_POST['name'];
$text = $_POST['text'];
$text = str_replace("\n", "<br>", $text);

$message = "Seine/Ihre E-Mail Adresse: $email <br>
            Nachricht: $text";


/* Baut Header der Mail zusammen */
$header = ("From: " . $absender . "\n");
$header .= ("Reply-To: " . $email . "\n");
$header .= ("Return-Path: " . $email . "\n");
$header .= ("X-Mailer: PHP/" . phpversion() . "\n");
$header .= ("X-Sender-IP: " . $REMOTE_ADDR . "\n");
$header .= ("Content-type: text/html; charset=\"utf-8\"\r\n");

mail($empfaenger, $subject, $message, $header, "-f Homepage@xyz.de");

echo "Email versendet";

habe nun statt <br> schonmal /n versucht aber dann wird mir im Outlook und im Internet /n angezeigt statt ein Zeilenumbruch

Weis jmd. des Rätsels Lösung?
 
Üblicherweise verwendet man "\r\n", anstatt nur "\n". "\n" macht nur eine neue Zeile, "\r" ist der carriage return, also der Sprung zum Anfang der Zeile. Das kommt noch aus Zeiten der Schreibmaschinen. Versuch mal, ob das bei dir klappt!

Mehr Infos dazu findest du auch hier: http://forum.de.selfhtml.org/archiv/2008/1/t164671/

Und natürlich den Backslash verwenden!

Grüße,
Frezl
 
Ich denke es liegt daran, dass Outlook versucht die Datei als HTML zu interpretieren.
Verändere mal den Content-Type:
PHP:
$header .= ("Content-type: text/plain; charset=\"utf-8\"\r\n");
 
Zurück