• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Probleme beim mailversand mit PHP

capser

Member
Hallo,
wir haben seit kurzem ein merkwürdiges Problem wenn wir mit hilfe von php mails versenden. Es ist erst seit kurzem so vorher war es nicht so.

Wenn wir eine mail verschicken wird nach jeder Zeile die diese mail enthält eine Leerzeile eingefügt, habe dazu leider auch im internet noch nichts gefunden und habe auch keine ahnung woran das liegen kann.

Also vorher sah eine mail die über php verschickt worden ist so aus :

Text1.Zeile
Text2.Zeile
Text3.Zeile

nun sieht sie aber so aus wenn wir uns die zuschicken lassen

Text1.Zeile

Text2.Zeile

Text3.Zeile

Was halt in der formatierung dann nicht sehr schön aussieht, für rat oder hilfe wäre ich sehr dankbar, vielleicht hatte ja einer schon mal ein ähnliches problem.

vielen dank schonmal für die mühe
nils
 

nbkr

Guru
Kann es sein, dass ihr seit kurzem ein anderes Mailprogramm verwendet? Das mit den doppelten Zeilen kommt daher, dass auf unterschiedlichen Betriebsystemen unterschiedliche Zeichen für den Zeilenumbruch genutzt werden. \n für Linux \r\n für Windows, etc. Da kanns zu Problemem mit machen Mailprogrammen kommen.
 
OP
C

capser

Member
Anderes Mailprogramm als versender oder als empfänger?
Also zum empfang kanns ja eigentlich nicht sein da wir auch mal an unsere externen accounts wie z.b gmx verschickt haben und da das gleiche problem auftritt.
Tja und zum versenden ist es eigentlich ganz normal Postifx, und wie gesagt das hatten wir schon immer. wir haben 3 Server bei uns, also 2 externe und einen internen. Auf einem externen funktioniert es nach wie vor. auf dem anderen externen und internen halt leider nicht mehr. und das einzige was mir einfällt was da geändert worden ist, war das wir Pear dort installiert haben aber kann es daran liegen?
 

nbkr

Guru
Enthält die Mail Daten die aus einem Forumlar gekommen sind? Dann liegts evtl. daran, dass der Browser zusätzliche Umbrüche reinmacht. Stell das Textfeld mal auf wrap="soft". Desweiteren kannst Du natürlich vor dem Versand alle Umbrüche von PHP ersetzen lassen. Oder gleich eine HTML Mail schicken.
 
OP
C

capser

Member
Also das umsteleln auf "soft" weiß ich gerade nicht ob das ne lösung wäre, muß ich mal testen.
Am browser allerdings würde ich das problem nicht fest machen da es auf einem anderen server ja im gleichen browser läuf.
aber ich habe jetzt mal ein wenig rumgetestet und ein einfaches mailscript geschickt und gesehen wo das problem auftritt.

also bei folgendem script
Code:
<?php
mail("nils@mydomain.de", "Betreff", "Zeile 1\nZeile 2\nZeile 3");
?>

kommt es richtig an also :
zeile1
zeile2
zeile3

Bei folgendem script
Code:
 <?php
$text = ' zeile1
zeile2
zeile3';
mail("nils@mydomain.de", "Betreff", $text);
?>

kommt es so an :
Zeile1

Zeile2

zeile3


Woran kann das problem liegen hilft das vielleicht ein wenig weiter? das ganze wurde einfach als script von der konsole ausgeführt ohne browser oder sonstigen sachen
 

nbkr

Guru
Wie gesagt, es liegt am Zeilenumbruch. Beim ersten Beispiel hast Du nur \n als Umbruch. Beim zweiten Beispiel macht dein (Windows?) - Editor ein \r\n rein. Schon hast Du im Mailprogramm zwei Umbrüche. Mach einfach mittels str_replace() aus allen \r\n ein \n schon sollte das Problem gelöst sein.
 
OP
C

capser

Member
Hi also du magst recht haben und ich habe es auchmal getestet ein

str_replace("\r\n", "\n", $mailing);

scheint auf den ersten blick alles probleme zu lösen, nur was mich an der lösung stört ist woher das problem auf einmal kam und wiese es auf einem server mit und auf einem anderen ohne läuft...

an welcher einstellung scheint das zu liegeb ist das ein Postfix ein apache oder ein php problem, oder besser gesagt einstellungssache und nicht problem?

aber vielen dank schonmal für die Hilfe, erstmal ist das natürlich ne lösung wäre mir wohler wenn ich es nicht umgehen könnte sonder die ursache auch finde
 
Oben