• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

keine \n's bei mail() in Outlook

afoeder

New member
Hallo!

Es geht um PHP...
Ganz kurios, und ich habe das Problem schon seit längerem:

wenn ich in einer Variable einen String habe, der auch \n enthält, und diesen mit mail() versenden möchte, und ein Outlook Client diesen darstellt, fehlen die Zeilenumbrüche und werden stattdessen mit einem Leerzeichen dargestellt. So ist der ganze Text in eine Zeile "geklatscht".
Wenn ich aber in mail() direkt einen String angebe, der \n enthält, ohne den Umweg einer Variable, dann klappt es.

Ich habe noch weitere Kuriositäten festgestellt, nur möchte ich das hier nich verkomplizieren, weil mir eine Antwort auf diesen Post mittlerweile echt wichtig ist.

Vielen Dank,

Adrian Föder
 
habe ich auch schon; hilft nichts ;-))

witzigerweise:
wenn ich str_replace anwende, und damit ein "\n" durch einen Leerstring "" ersetze, dann werden in Outlook die Zeilenumbrüche dargestellt!!!! Das KANN und darf aber ja eigentlich garnicht sein...

Wenn ich aus einer <textarea> heraus versende, wie sind da die Umbrüche hinterlegt? \r\n oder nur \n?
müsste ich dann ggf. beim Inhalt der Textarea "\n" durch "\r\n" replacen?


danke,
adrian
 
hmmm das hört sich merkwürdig an.....

wenn ich jetzt ein Outlook da hätte, dann würd ichs ja mal selbst ausprobieren.... aber da sind mir zu viele Viren drin.... ;)

Die Frage ist aber, wie sieht die Mail - Datei wirklich aus... sind die Zeichen drinne, zeigt also Outlook die nur falsch an (z.B. wegen dem falschen Encoding) oder welches Zeichen enthält die Mail an der Stelle, die eigentlich einen Zeilenumbruch enthalten soll... (am besten die Mail mal auf den Desktop ziehen (als .eml Datei, glaub ich), und dann mit nem Hexeditor anschauen... am Anfang steht meist ein bißchen Hex-Verwaltungsmüll von M$, aber dann kommt irgendwann die Mail im Klartext....)
 
hey, coole idee, das mit dem auf den Desktop ziehen...
es sind übrigens .msg-Dateien...

auf jeden Fall habe ich sie für den ersten Blick mal mit dem Notepad geöffnet, da waren ein paar Hickhack-zeichen zu sehen, der header ist zu sehen, und dann kommt die mail im Klartext, ab und zu auch Hickhack-Zeichen (* ÿÿÿÿÿÿÿÿÿ usw.).

Der Text, den man dann aber erkennen kann, hat eindeutige korrekte Zeichenumbrüche.


Was zusätzlich noch erwähnenswert ist: die gleiche Mail, die Outlook nicht mit Umbrüchen darstellt, werden vom Eudora, vom Outlook Express, und von den Browser-Email-Clients (web.de und so) KORREKT dargestellt.....

Vielen dank,

adrian
 
DIE zwei Dateien

einmal die .msg-Datei als .txt-Datei, die entstand, als ich die Email auf den Desktop zog...
 

Anhänge

  • demo-email.txt
    11,5 KB · Aufrufe: 7
2. datei

und einmal ein screenshot aus dem Outlook-email-Fenster....
 

Anhänge

  • scrn_outlook.jpg
    scrn_outlook.jpg
    8,6 KB · Aufrufe: 7
also in der Datei sind die Zeichen drinne.... allerdings findet sich dort die Zeichenkette 0x0d 0x0d 0x0a für jede Zeile normal wäre 0x0d 0x0a .... vielleicht liegt es daran...

vielleicht ist das ein Escape, wenn 0x0d auf 0x0d folgt :)
 
an dieser stelle nochmal die Frage:
wenn ich den Inhalt einer <textarea> mailen möchte, ist es dann richtig, "\n" aus dieser textarea durch "\r\n" zu ersetzen, oder muss ich da irgendwie anders vorgehen?

danke,
adrian
 
Zurück
Oben