Page 1 of 1

Kontakt-Formular

Posted: Fri 8. Nov 2013, 10:21
by admin-schule
Wir setzten CMSimple 4.2.6 an der Schule ein und nutzen das Kontakt-Formular. Alles funktioniert so weit prächtig.
Aber....
wenn uns Besucher über das Kontakt-Formular eine Nachricht zukommen lassen, dann werden manchmal die Umlaute und ß nicht dargestellt.
Sendet man aber die gleiche Mail wieder zurück an den Absender, werden diese wieder richtig codiert.

Ist das normal? Was müssen wir einstellen, dass das richtig funktioniert. Änderungen an der Einstellung UTF-8 wurden nirgends geändert.

Grüße
Admin-Schule

Re: Kontakt-Formular

Posted: Fri 8. Nov 2013, 11:55
by Gert
admin-schule wrote:Sendet man aber die gleiche Mail wieder zurück an den Absender, werden diese wieder richtig codiert.
Hallo,

die Mail wird utf-8 codiert verschickt.

Vielleicht liegt es ja nur an den Einstellungen Deines E-Mail Clients. Der stellt die Mail evtl. ISO codiert dar, das lässt sich normalerweise einstellen, bzw. lässt sich eine automatische Erkennung einstellen.

Ansonsten solltest Du mal eine Mail mit dem Inhalt "äöüß" verschicken und hier posten, was bei Dir ankommt,

Gert

Re: Kontakt-Formular

Posted: Thu 21. Nov 2013, 08:06
by admin-schule
Hallo,

jetzt bin ich schon einen Schritt weiter. Wenn ich die Mail mit Horde (Webbasierter Mailclient) direkt vom Provider abrufe, kommt folgendes an:

Nur noch ein Test...

mit Umlauten �������

(Ich weiß nicht, ob man das im Forum sieht, die Umlaute sind als auf der Spitze stehende, schwarze Quadrate mit weißen Fragezeichen drin dargestellt)

Das gleiche geschieht auch, wenn die Mail mit "Thunderbird" gelesen wird.
Mit MAIL dem Mailprogramm von Apple unter OS X 10.7.5 werden die Zeichen richtig als äöüÄÖÜß angezeigt.

Es liegt also scheinbar am Mailclient ...
Jetzt muss ich nur noch den richtigen Schalter finden :-)

Soweit erst mal Danke. Hat noch jemand etwas beizutragen?

admin-schule

Re: Kontakt-Formular

Posted: Mon 25. Nov 2013, 20:56
by admin-schule
Hallo zusammen,

zuerst hatte es den Anschein, dass es an den Einstellungen des Mailclients hängt. Der Mailclient der Groupware (Horde) zeigt die Umlaute nicht an, während es bei MAIL von Apple funktioniert.
Logischer Weise kann es also an dem Formular (vermutlich) nicht liegen.

Nun haben wir aber Thunderbird unter Einstellungen-Ansicht-Erweitert-Formatierung auf UTF-8 umgestellt (lt. Anleitung http://www.thunderbird-mail.de/wiki/Einstellungen).

kurz: Hat nix gebracht...

Auch "Benutzerdefiniert" bringt nichts. (Die Einstellung "Westlich" war zuvor eingestellt)

Es kann ja nicht sein, dass wir die Einzigen sind, die diese Probleme haben.

HHHHHIIIIIILLLLLLFFFFFFEEEEEEE!

Danke

Re: Kontakt-Formular

Posted: Mon 25. Nov 2013, 22:28
by Gert
admin-schule wrote:Es kann ja nicht sein, dass wir die Einzigen sind, die diese Probleme haben.
Vermutlich doch ...

Die Fragezeichen in den schwarzen Rauten treten auf, wenn eine ISO (westlich) codierte mail als utf-8 angezeigt wird.

http://de.wikipedia.org/wiki/Ersetzungszeichen

CMSimple gibt der mail einen header mit, der die mail als utf-8 codiert ausweist, und so zeigt sie der Mail Client auch an. Scheint aber so, dass Euer Server entgegen den Anweisungen von CMSimple die mail ISO codiert rauschickt. Wenn sie dann auf Grund des headers als utf-8 angezeigt wird, habt Ihr die Fragezeichen in den schwarzen Rauten.

Ohne Link zur Seite und CMSimple Passwort (per PM) kann ich aber auch nur vermuten, was da passiert,

Gert

Re: Kontakt-Formular

Posted: Tue 26. Nov 2013, 14:28
by admin-schule
Hallo,

Die Mail geht (utf-8 kodiert) an den Mail-Server unseres Providers - so weit ok.
Dann wird sie dem richtigen Postfach zugeordnet und irgendwann wird sie mit einem bel. MUA angesehen.
Der MTA des Providers macht erst mal mit der Mail-Kodierung nichts.

So weit richtig?

Je nach MUA wird sie aber entweder richtig oder falsch angezeigt.

Mein Mail Programm auf´m iMAC zeigt sie ja auch richtig an.
Also liegt es IMHO am MUA!?!? Aber wo?
Ich glaube auch nicht, dass es am CMSimple 4.2.6 liegt, weil

1. es geht ja grundsätzlich und
2. es handelt sich um eine Standard-Installation ohne jegliche Änderungen der internen Einstellungen.

Re: Kontakt-Formular

Posted: Thu 28. Nov 2013, 10:09
by admin-schule
Mühsam ernährt sich das Eichhörnchen.....

Eine Mail aus dem Kontaktformular direkt an den Provider/Webhoster förderte folgende Erkenntnis zu Tage.
Antwort des Providers:

"Der Fehler liegt daran, dass das Content-Transfer-Encoding im Header fehlt. Dieses muss -soweit ich das einschätzen kann- auf utf-8 stehen."

Aha!
Wie gesagt - es wurde am und im CMSimple_4.2.6 nichts geändert - einfach installiert und mit Inhalten versehen. Was ist zu tun?

mfg.

Re: Kontakt-Formular

Posted: Tue 3. Dec 2013, 11:29
by admin-schule
Hallo, leider kam auf meinen letzten Beitrag keinerlei Reaktion - ich habe mich deshalb selbst auf die Suche nach einer Lösung gemacht.
Ich habe folgendes festgestellt: Scheinbar liegt es doch an CMSimple_426!

In einer früheren Installation (CMSimple_XH) steht in der Datei

Code: Select all

/**
 * Sends a UTF-8 encoded mail.
 *
 * @param   string $to  Receiver, or receivers of the mail.
 * @param   string $subject  Subject of the email to be sent.
 * @param   string $message  Message to be sent.
 * @param   string $header  String to be inserted at the end of the email header.
 * @return  bool  Whether the mail was accepted for delivery.
 */
function mail_utf8($to, $subject = '(No Subject)', $message = '', $header = '')
{
    $header = 'MIME-Version: 1.0' . "\r\n"
        . 'Content-type: text/plain; charset=UTF-8' . "\r\n"
        . $header;
    $subject = '=?UTF-8?B?'
        . base64_encode(utf8_substr($subject, 0, 45)) . '?=';
        
    // word wrap the message giving preference to already existing line breaks
    $message = strtr(rtrim($message), array("\r\n" => "\n", "\r" => "\n"));
    $lines = explode("\n", $message);
    array_walk($lines,
               create_function('&$v, $i',
                               '$v = utf8_wordwrap($v, 72, "\n", true);'));
    $message = implode("\r\n", $lines);
    
    return mail($to, $subject, $message, $header);
}

?>
im Gegensatz zu CMSimple_426:

Code: Select all

function mail_utf8($to, $subject = '(No Subject)', $message = '', $header = '')
{
	$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
	if(mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header))
	{
		return true;
	}
	return false;
}
?>
In diesem Zusammenhang verweise ich auch auf den Forums-Beitrag "http://www.cmsimpleforum.com/viewtopic.php?f=10&t=5275"
Vielleicht ist das ein Lösungsansatz.

Viele Grüße