Deutsch| English
  #1  
Alt 15.02.2008, 22:30
Neuer Benutzer
 
Registriert seit: 03.12.2007
Beiträge: 16
Standard Welcome Mail ohne CarriageReturn? (ISPC 2.2.21)

Hallo zusammen!

Mir ist eben aufgefallen, das die "Welcome mail" an neu angelegte Kunden unter Windows ohne korrekte Zeilenumbrüche angezeigt werden, wenn man das "Welcome Mail"-Formular als Anbieter unter einem System ausfüllt, das als Zeilenumbruch nur ein Newline-Zeichen verwendet anstatt der unter Windows nötigen zeichen "CarriageReturn" und "Newline"...

Leider habe ich gerade kein Windows-System zur Verfügung, aber ich glaube, der folgende Patch könnte helfen?

Code:
--- /home/admispconfig/ispconfig/lib/classes/ispconfig_isp_kunde.lib.php.orig   2008-02-15 21:43:29.000000000 +0100
+++ /home/admispconfig/ispconfig/lib/classes/ispconfig_isp_kunde.lib.php        2008-02-15 22:29:02.000000000 +0100
@@ -145,6 +145,8 @@
 
         if($kunde["kunde_email"] != "" && eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$", $kunde["kunde_email"]) && $absender_email != "" && eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$", $absender_email) && $absender_name != "" && $subject != "" && $message != ""){
 
+          $message = str_replace("\n", "\r\n", $message);
+          $message = str_replace("\r\r", "\r", $message);
           $message = str_replace("%%%USER%%%", $kunde["webadmin_user"], $message);
           $message = str_replace("%%%PASSWORD%%%", $kunde["webadmin_passwort"], $message);
           $message = str_replace("%%%FIRST_NAME%%%", $kunde["kunde_vorname"], $message);
Gruß,
Andreas
__________________
--
Andreas
Mit Zitat antworten
  #2  
Alt 16.02.2008, 08:47
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.818
Standard

Mit welchem Mailclient hast Du das Problem denn gehabt?
Mit Zitat antworten
  #3  
Alt 16.02.2008, 11:10
Neuer Benutzer
 
Registriert seit: 03.12.2007
Beiträge: 16
Standard

Zitat:
Zitat von Till Beitrag anzeigen
Mit welchem Mailclient hast Du das Problem denn gehabt?
MS-Outlook hat keine Umbrüche angezeigt ...
__________________
--
Andreas
Mit Zitat antworten
  #4  
Alt 17.02.2008, 12:57
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.818
Standard

Normalerweise sollte jeder Mailclient beide Umbruch-Varianten kenne. Wenn man nämlci \r\n nimmt, machen wiederum andere mailclients gelich 2 Zeilenumbrüche daraus. Saher hatten wir das irgendwann auf \n geändert und mit der Outlook Version die ich damals zum Testen genommen hatte, wurde es auch korrekt angezeigt.
Mit Zitat antworten
  #5  
Alt 17.02.2008, 13:58
Neuer Benutzer
 
Registriert seit: 03.12.2007
Beiträge: 16
Standard

Zitat:
Zitat von Till Beitrag anzeigen
Normalerweise sollte jeder Mailclient beide Umbruch-Varianten kenne. Wenn man nämlci \r\n nimmt, machen wiederum andere mailclients gelich 2 Zeilenumbrüche daraus. Saher hatten wir das irgendwann auf \n geändert und mit der Outlook Version die ich damals zum Testen genommen hatte, wurde es auch korrekt angezeigt.
Ja, so kenne ich das eigentlich auch. Ich weiß noch nicht so genau, was da schiefgegangen ist. Thunderbird auf dem Mac oder OpenBSD sowie mutt haben die Mail korrekt angezeigt. Ich werde das Phänomen aber mal weiter beobachten.

Mein Quick-and-Dirty-Patch da oben war nur mal eine erste Idee... aber Du hast Recht. Eigentlich sollte das nicht nötig sein...
__________________
--
Andreas
Mit Zitat antworten
  #6  
Alt 07.05.2008, 01:19
Neuer Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 11
flipkick eine Nachricht über ICQ schicken flipkick eine Nachricht über MSN schicken
Standard

Hallo ihr beiden,

ich habe beim Testen etwas ganz anderes herausgefunden. Eine Willkommensmail ging bei mir per BCC über GMX und wurde dann bei meinem Thunderbird mit doppelten anstatt einfach Zeilenumbruch dargestellt. Und da habe ich nachgeschaut und: ISPConfig versendet die Zeilenbrüche der Willkommensmail mit CR als auch LF. Ich habe das herausgefunden, indem ich mir mal mehrere Mails im Hex-Editor angeschaut habe. Outlook zeigt CR/LF-Zeilenumbrüche übrigens als doppelte Zeilenumbrüche an.

Ich bin es auch gewohnt, lediglich einen LF als Zeilenumbruch in Mails zu verwenden, da dieser garantiert von allen E-Mail-Clients (zumindest allen produktiv nutzbaren) richtig interpretiert wird. @sqrt: Hast Du denn die falsch dargestellte Mail noch da? Falls ja, leite sie doch mal bitte an flipkick@gmx.net weiter, möglichst als Anhang. Eventuell wurden die Zeilen nur im Textarea-Feld des Formulars umgebrochen. Dieses Feld ist allerdings nicht auf wrap=physical gesetzt (obwohl im Formdesigner so hinterlegt?!), so dass sie nur im Formular umgebrochen werden, diese Zeilenumbrüche aber nicht in die Datenbank übernommen werden.

Zu meinem Problem: Wo kommt nun aber das CR her? Beim Versenden erst einmal aus der Datenbank. Dort hat er unter isp_isp_reseller.client_salutatory_email_message tatsächlich die Willkommensnachricht mit \r\n-Zeilenumbrüchen gespeichert. Also wird es so eingetragen. Und natürlich, Zeilenumbrüche in textarea-Feldern werden als \r\n vom Browser codiert und gesendet. Patch für das Problem wäre:

Code:
--- ispconfig_isp_kunde.lib.php.orig    2008-05-06 11:44:07.000000000 +0200
+++ ispconfig_isp_kunde.lib.php 2008-05-07 01:01:35.000000000 +0200
@@ -145,6 +145,7 @@

              if($kunde["kunde_email"] != "" && eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$", $kunde["kunde_email"]) && $absender_email != "" && eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$", $absender_email) && $absender_name != "" && $subject != "" && $message != ""){

+          $message = str_replace("\r\n", "\n", $message);
           $message = str_replace("%%%USER%%%", $kunde["webadmin_user"], $message);
           $message = str_replace("%%%PASSWORD%%%", $kunde["webadmin_passwort"], $message);
           $message = str_replace("%%%FIRST_NAME%%%", $kunde["kunde_vorname"], $message);
Ich würde das so übernehmen. Till, was meinst Du?

Grüße,
flip

Geändert von flipkick (07.05.2008 um 01:28 Uhr).
Mit Zitat antworten
  #7  
Alt 07.05.2008, 12:05
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.818
Standard

Ja, können wir von mir aus so machen. Scheibst Du den Patch bitte gleich auch mit ins stable SVN?
Mit Zitat antworten
  #8  
Alt 07.05.2008, 17:28
Neuer Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 11
flipkick eine Nachricht über ICQ schicken flipkick eine Nachricht über MSN schicken
Standard

Ok, ist nun im trunk und 2.2-stable-branch. Zusätzlich wird nun auch das CR bei den anderen automatisch versandten Mails gefiltert.

Grüße,
flip
Mit Zitat antworten
  #9  
Alt 08.05.2008, 10:08
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.818
Standard

Super, Danke!
Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 02:57 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0