Kontakt-Formular

CMSimple 4.0 und höher
Post Reply
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Kontakt-Formular

Post 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
Gert
Posts: 2075
Joined: Sun 18. Nov 2012, 14:18

Re: Kontakt-Formular

Post 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
Gert Ebersbach | CMSimple | Templates - Plugins - Services
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Re: Kontakt-Formular

Post 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
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Re: Kontakt-Formular

Post 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
Gert
Posts: 2075
Joined: Sun 18. Nov 2012, 14:18

Re: Kontakt-Formular

Post 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
Gert Ebersbach | CMSimple | Templates - Plugins - Services
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Re: Kontakt-Formular

Post 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.
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Re: Kontakt-Formular

Post 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.
admin-schule
Posts: 10
Joined: Wed 6. Nov 2013, 09:12

Re: Kontakt-Formular

Post 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
Post Reply