Hallo,
Eigentlich funktionert es ganz gut. Per
mail([MAIL],$Betreff,$s_msg, $header);
wird eine Nachricht erzeugt, die dank$s_msg = nl2br(utf8_encode($s_msg));
richtig dargestellt wird.
erzeugst du absichtlich HTML-Mails? Ich würde das nicht wollen, ist aber Geschmackssache.
Und utf8_encode() sollte vollkommen überflüssig sein, wenn man seine Quellcodes sowieso konsequent in UTF-8 codiert.
Das trifft jedoch leider nicht auf den Betreff zu. Dort erhalte ich, wenn ich kyrillische Zeichen angebe immer das &#XXXX;-Format. Bislang habe ich das wie folgt gelöst:
$header = 'MIME-Version: 1.0'."\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$header .= 'Content-Transfer-Encoding: quoted_printable'."\r\n";
...
if(strlen($Betreff) == 0) {$Betreff = 'Anfrage von Website';}
else {$Betreff = utf8_encode($Betreff);}
...
mail([MAIL],$Betreff,$s_msg, $header);
Auch hier sollte utf8\_encode() überflüssig sein, wenn man's von Anfang an ordentlich macht.
Allerdings müssen Headerzeilen in Mails sowieso anders codiert werden, wenn sie Zeichen außerhalb des ASCII-Bereichs enthalten. Das [PHP-Manual](http://www.php.net/manual/en/function.iconv-mime-encode.php) zeigt dort, wo die geeignete Funktion beschrieben ist, auch ein paar Beispiele, wie die korrekte Codierung dann aussieht.
So long,
Martin
--
Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(