• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

email formatieren

mustang

Mitglied
Hallo Leute,

habe beim versenden einer Email per php ein kleines Problem.
Ich übernehme die Daten für die Nachricht aus einem Formular, wende darauf htmlspecialchars an und sende die variable direkt als inhalt an mein postfach.

problem ist nur, dass ein zeilenumbruch im textfeld in der email einer freizeile entspricht. also es ist immer ein zeilenumbruch zuviel.
wie bekomme ich das richtig hin?

gruß mustang

Ps.: problem ist auch, dass durch htmlspecialchars die sonderzeichen alle codiert in der email ankommen. aber ohne htmlspecialchars ein formular... ?!
 
Zuletzt bearbeitet:
hm. also ich habe das ganze in einem kontaktformular drin. das heißt ich überprüfe die eingaben auch, ob sie überhaupt sinnvoll sind. damit ich aber nicht anfällig für xss bin, verwende ich bei den post variablen htmlspecialchars (da die post variablen auch wieder als value im kontaktformular stehen, wenn etwas falsch eingegeben wurde). wie ich die mail absende, die daten überprüfe, das weiß ich alles. hab ich auch schon fertig. aber die formatierung der email ist halt das problem...
 
habs mal ohne htmlspecialchars probiert. also nur die reine variable der textarea in ner mail abgeschicht. es passiert das gleiche. also das liegt nicht an htmlspecialchars, sondern an etwas anderem... verstehe das nicht.
macht das die textarea vielleicht so? aber kann ich mir auch nicht vorstellen...
 
Aus dem Textarea kommt, solange Du dort nicht noch einen Editor eingebaut hast der es in HTML-Code umwandelt, reiner Text mit \r\n-Zeilenumbrüchen. Diese kannst Du mit

Code:
$var = preg_replace('/\r\n|\r/', "\n", $text);

zu \n umwandeln. htmlspecialchars() kannst Du unabhängig davon weiter(wieder)verwenden.
 
Sehr gut das wars. Wie bekomme ich denn nun die ganzen ü und ö wieder in ü und ö. kommt halt in der email codiert an...
wie gesagt liegt ja an htmlspecialchars, aber ohne will ich nicht.
 
also ich versteh das immer noch nicht. hab jetzt mit allen möglichen sachen versucht das in der email als ü und ö zu bekommen, aber es kommt immer noch sowas an: ü
ich habe auch mal htmlspecialchars und alles weggelassen und mir auch auf der website ausgegeben. im quelltext steht ü und ö direkt drin, aber nicht in der email...
 
Hallo,

dann stimmt die codierung nicht.
Steht überall utf8 im Formular/email oder halt immer die gleiche ISO?

Cheffchen
 
Zurück
Oben