PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [php mail()] Tabs vor Text


Thorn of Roses
2009-05-25, 15:57:49
Hallo allerseits,

Ich habe ein etwas wunderliches Problem mit php mail().

Das verschicken der Nachricht funktioniert wunderbar, jedoch wird die (plaintext) Mail bei einer Userin (Outlook 2003) mit einigen Tabs vor dem Text dargestellt, so als hätte man einfach den Einzug des Textes erhöht. Bei mir selbst und allen anderen betroffenen wird die mail korrekt ohne die Tabs dargestellt.

Der Text wird mittels \n\r (wie auch sonst :D) "formatiert".

Weiss jemand rat?

mit wiederbelebten Grüßen,

-Thorn-

Sephiroth
2009-05-25, 16:49:06
Der Text wird mittels \n\r (wie auch sonst :D) "formatiert".
LFCR ist auch völlig falsch (welches exoten OS nutzt denn das? ;)). Also entweder CRLF (gemäß RFC 5322 (http://tools.ietf.org/html/rfc5322#section-2.3)) oder nur LF.

Thorn of Roses
2009-05-25, 18:17:09
Öh... so war das gar nicht gemeint (also die reihenfolge). Ich wollte damit lediglich nochmal auf darauf hinweisen dass es keine html-mail ist. In freudiger Erhoffung der Unterstützung großzügiger ASCII Standards benutze ich nur LF bzw. als php-repräsentant \n.

Aber das hilft bei dem problem auch nicht weiter.:frown:

mit unreproduzierbaren Grüssen,

-Thorn-

Berni
2009-05-25, 20:46:54
Ohne Code wird das ein Rätselraten...

Mit rätselnden Grüßen
-Berni-

samm
2009-05-25, 21:16:10
Könnte es schlicht an einem Outlook-"feature" liegen, wie das automatische Entfernen "unnötiger" newlines?

Thorn of Roses
2009-05-25, 21:40:41
@Berni: So sieht der Mailtext aus:

$mail = "
*******************\n
Kursanmeldung ".date("d.m.y")."\n
*******************\n
Fluggerät: ".$gshg."\n
Kurse: ".$art."\n
Gewünschtes Anfangsdatum: ".$startdatum."\n
________________________________________\n
Vorname: ".$vorname."\n
Nachname: ".$nachname."\n
Straße: ".$strasse."\n
Ort: ".$ort."\n
Land: ".$land."\n
Staatsangehörigkeit: ".$nation."\n
Geburtsdatum: ".$geburtsdatum."\n
_________________________________________\n
Email: ".$email."\n
Telefon: ".$telefon."\n
Telefon(beruflich): ".$telefonarbeit."\n
Handy: ".$handy."\n
Fax: ".$fax."\n
_________________________________________\n
Größe: ".$groesse."\n
Gewicht: ".$gewicht."\n
_________________________________________\n
Überweisung: ".$zahlung."\n
Schnuppertag: ".$schnuppertag.", am".$schnupperdatum."\n
Gruppe: ".$gruppe.", ".$gruppenname."\n
Gutschein: ".$gut.", ".$gutschein."\n
_________________________________________\n
Beruf: ".$beruf."\n
Hobby: ".$hobby."\n
Bisherige Flugausbildung: ".$vorausbildung."\n
Bei Flugschule: ".$flugschule."\n
Letzter Flug: ".$letzterflug."\n
Eigene Ausrüstung: ".$geraet."\n
Hat von uns erfahren durch: ".$erfahren."\n
Bemerkungen: ".$bemerkungen."\n
";

Edit: @samm: Ich hab auch schon sowas gesucht, allerdings nix gefunden. Die Umbrüche sind da, aber eben mit Tab-Einzug.

mit aufklärenden Grüßen,

-Thorn-

Berni
2009-05-25, 21:57:56
Du hast ja im Quelltext Einrückungen. Könnte es an diesen liegen?

rotalever
2009-05-25, 22:02:24
Du hast ja im Quelltext Einrückungen. Könnte es an diesen liegen?
Es liegt an diesen, außer deine Zeilenumbrüche sind doch \r\n (liegt dann am editor/OS)

Warum machst du manchmal die newlines mit einer neuen Zeile und manchmal mit "\n"?

Thorn of Roses
2009-05-25, 22:12:04
Du hast ja im Quelltext Einrückungen. Könnte es an diesen liegen?

Denke mal nicht, nachdem es eben nicht nur 1 tab ist was in der Mail angezeigt wird sondern mehrere. Aber probieren kann mans ja mal.

Außerdem wird die Mail ja bei allen außer derjenigen korrekt dargestellt.

Warum machst du manchmal die newlines mit einer neuen Zeile und manchmal mit "\n"?

Eigentlich aus Übersichtsgründen damit ich nicht immer durch eine ewigkeits-Zeile scrollen muss. Werden Zeilenumbrüche innerhalt der variablenbesetzung von strings ausgegeben?? Kaum oder täusch ich mich da?

Btw.: Warum ists denn jetzt im Prog-forum? Oo

mit verwirrten Grüßen,

-Thorn-

Gast
2009-05-25, 22:31:12
Werden Zeilenumbrüche innerhalt der variablenbesetzung von strings ausgegeben??
Natürlich werden sie das.
$bla="a
b";
ist das selbe wie
$bla="a\nb";
(oder je nach texteditor auch mit \r\n)
das was du eigentlich willst ist
$bla="a".
"b";

Gast
2009-05-25, 22:34:40
Btw.: Warum ists denn jetzt im Prog-forum? Oo
Weil das Problem ein Programmierfehler deinerseits ist.

Gast
2009-05-25, 22:35:06
Btw.: Warum ists denn jetzt im Prog-forum? Oo


Weil ein Mod/Admin den Thread verschoben hat?
Die Frage hat nun mal mehr mit Programmierung zu tun als mit Web Design

The_Invisible
2009-05-25, 22:35:27
mach mal deine leerzeichen weg, also so:


$mail = "
*******************\n
Kursanmeldung ".date("d.m.y")."\n
*******************\n
Fluggerät: ".$gshg."\n
Kurse: ".$art."\n
Gewünschtes Anfangsdatum: ".$startdatum."\n
________________________________________\n
Vorname: ".$vorname."\n
Nachname: ".$nachname."\n
Straße: ".$strasse."\n
Ort: ".$ort."\n
Land: ".$land."\n
Staatsangehörigkeit: ".$nation."\n
Geburtsdatum: ".$geburtsdatum."\n
_________________________________________\n
Email: ".$email."\n
Telefon: ".$telefon."\n
Telefon(beruflich): ".$telefonarbeit."\n
Handy: ".$handy."\n
Fax: ".$fax."\n
_________________________________________\n
Größe: ".$groesse."\n
Gewicht: ".$gewicht."\n
_________________________________________\n
Überweisung: ".$zahlung."\n
Schnuppertag: ".$schnuppertag.", am".$schnupperdatum."\n
Gruppe: ".$gruppe.", ".$gruppenname."\n
Gutschein: ".$gut.", ".$gutschein."\n
_________________________________________\n
Beruf: ".$beruf."\n
Hobby: ".$hobby."\n
Bisherige Flugausbildung: ".$vorausbildung."\n
Bei Flugschule: ".$flugschule."\n
Letzter Flug: ".$letzterflug."\n
Eigene Ausrüstung: ".$geraet."\n
Hat von uns erfahren durch: ".$erfahren."\n
Bemerkungen: ".$bemerkungen."\n
";


und das outlook mist baut wäre eh nix neues, das hat ja so lustige features wie selbsteinrückung und textbereinigung.

mfg

samm
2009-05-25, 23:03:37
Mit sowas:
$x = "*******************\n
Kursanmeldung "hat er immer zwei Zeilenumbrüche drin. Entweder $x = "*******************\nKursanmeldung"oder$x = "*******************
Kursanmeldung"verwenden, um das zu vermeiden.

Sephiroth
2009-05-25, 23:46:50
oder

$x = "*******************\n".
"Kursanmeldung "

Gast
2009-05-25, 23:49:53
oder
$x = "*******\n"
$x .= "Kursanmeldung "

Thorn of Roses
2009-05-25, 23:52:00
Omg. Da bastelt man seid Jahren rum und dann sowas. *schäm*

Vielen dank an alle.

mit abschließenden Grüßen,

-Thorn-

samm
2009-05-26, 01:11:01
Jaja, es gibt tausende Varianten, etwas falsch zu machen (wobei es hier ja nicht mal wirklich falsch war ;)), merk ich auch immer wieder *gg*

oder
$x = "*******\n"
$x .= "Kursanmeldung "
Nö, Semikolon muss auch noch hin :P