mail() Inhalt enthält \n\r

suntrop

Erfahrenes Mitglied
Hallo,

ich verschicke mittels mail() eine E-Mail. Der textliche Inhalt kommt aus einem <textarea>-Element.

Problem bei der Sache, in der E-Mail bekomme ich statt neuer Zeilen folgendes dargestellt: \r\n\r\n.

An anderer Stelle lasse ich mir selben Text ausgeben, nur dort (in Verbindung mit nl2br) wird es korrekt ausgegeben.

Wie bekomme ich die Zeichen aus meiner Mail raus? Oder vielmehr, wie bekomme ich dort tatsächlich die Zeilenumbrüche rein? Ich habe auch in meinen anderen Skripten nachgesehen - dort funktioniert es richtig - nur finde ich den Fehler nicht.


PHP:
		$mailbody .= "
		Anrede: $anrede
		Titel: $titel
		Vorname: $vorname
		Nachname: $nachname
		Nachricht:
		$nachricht";
		$mailbody .= "\n\n------------------------------\nEnde der Nachricht\n\n";
		$mailbody = stripslashes($mailbody);
		header("Content-Type: text/html; charset=utf-8");

		if (@mail($empfaenger, "Anmeldung", $mailbody, $header) && $db_aufnahme) {
			$sent_successful = true;
			confirm_user($anrede, $titel, $vorname, $nachname, $email);
			header("Location: feedback.php");
		}
		else {
			$sent_successful = false;
		}

Woher stammen die Steuerzeichen?

Schonmal danke für deine Hilfe.

mfg - suntrop
 
Wird tatsächlich die Zeichenfolge „\r\n“ ausgegeben? Wie werden die Eingaben denn verarbeitet?
 
Ja, es wird tatsächlich \r\n statt einer neuen Zeile im Mail-Programm ausgegeben.

Wenn ich stripslashes auf die Nachricht anwende, dann kommt natürlich nur noch rn an.

Außer einem htmlspecialchars(), auf den Inhalt des Textarea-Elements wird der Inhalt nicht weiter verarbeitet. Einfach direkt per mail() verschickt.
 
Zurück