UTF8 / ISO-8859-1 Mailversand

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

UTF8 / ISO-8859-1 Mailversand

Beitrag von JoDomoWorx »

Bei uns erscheinen mit der Standard-Einstellung UTF8 alle Systemmails bzgl. PW oder Registrierung korrekt, aber die Benachrichtigung bei neuen Einträgen sind falsch kodiert. Wenn ich die Einstellung auf ISO-8859-1 ändere, ist es genau umgekehrt.

Ich habe heute die mögliche Ursache gefunden:

Die Benachrichtigung bei neuen Einträgen wird in function.php unter admFuncEmailNotification erzeugt, und verhält sich dort anscheinend korrekt bei Wahl von ISO-8859-1, d.h. es nutzt utf8_decode und schickt direkt mit mail(...) die Nachricht los, die dann korrekt kodiert ankommt.

Die anderen Systemmails werden hingegen in system_mail.php generiert, das nutzt email.php. Dort wird mit

Code: Alles auswählen

	$this->charset             = $gPreferences['mail_character_encoding'];

$this->mail_body = $this->mail_body.'Content-Type: '.$contentType.'; charset='.$this->charset."\nContent-Transfer-Encoding: 7bit\n\n";
das Charset korrekt auf die getroffene Wahl gestellt. Aber die eigentliche Umkodierung auf ISO-8859-1 ist falsch:

Code: Alles auswählen

if($this->charset == 'iso-8859-1')
	{
		utf8_decode($this->mail_body);
	}
Es müsste so heißen:

Code: Alles auswählen

$this->mail_body = utf8_decode($this->mail_body);
So sind beide Systemmailtypen mit ISO-8859-1 korrekt kodiert.

Dass UTF8 bei den Systemmails in system_mail.php ebenfalls korrekt funktioniert, zeigt dass in admFuncEmailNotification das Charset der Mail genauso eingetragen werden muss. Dann würde es dort auch funktionieren.
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: UTF8 / ISO-8859-1 Mailversand

Beitrag von Thomas-RCV »

Hallo,
in der 2.4 ist das Email Modul grundlegend überarbeitet worden, da es mit dieser Funktion immer wieder Probleme gab.
Diese befindet sich in den letzten Zügen zum 1. Betatest. Wäre toll, wenn vielleicht der ein oder andere das dann auf Herz und Nieren testen würde,....

VG Thomas
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Re: UTF8 / ISO-8859-1 Mailversand

Beitrag von JoDomoWorx »

Dazu kann ich schon mal sagen (ohne in 2.4 reingeschaut zu haben), dass admFuncEmailNotification die eMail.php nicht benutzt, also von Verbesserungen dort nicht profitiert. Man müsste dort die eMail-Klasse benutzen, oder eben das Charset korrekt eintragen.
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: UTF8 / ISO-8859-1 Mailversand

Beitrag von Thomas-RCV »

Schau ich mir mal an, inwieweit das bei der 2.4 noch so ist.
Hier hat sich die Klasse komplett geändert und es wird der phpmailer verwendet werden.

Thomas
Benutzeravatar
fasse
Administrator
Beiträge: 6193
Registriert: 12. Nov 2005, 16:06

Re: UTF8 / ISO-8859-1 Mailversand

Beitrag von fasse »

Hallo zusammen,

in der 2.4 gibt es die Funktion admFuncEmailNotification nicht mehr. Dort läuft der Versand über die EmailKlasse, welche dort dann auch von phpmailer abgeleitet ist. Der Versand der Emails ist dann zu 100% identisch zu den anderen Email-Stellen.

Gruß
Fasse
Antworten