2012-11-30 10 views
9

ウムラウト文字を含むドイツ語の電子メールを生成する必要があります。電子メール自体では、これは完全に動作しますが、電子メールの件名には含まれません。私は多くの異なるウムラウト文字を試しました。それらはすべてüを除いて動作するようです。誰も私がのソースと、この問題に対する解決策を見つけるのを助けることができるメールの件名にウムラウトを設定する方法

$mail = new htmlMimeMail(); 
$mail->setTextEncoding("base64"); 
$mail->setHTMLEncoding("base64"); 
$mail->setTextCharset("UTF-8"); 
$mail->setHTMLCharset("UTF-8"); 
$mail->setHeadCharset("UTF-8"); 
$mail->setSMTPParams(mailinglist_smtp_host,mailinglist_smtp_port); 
$mail->setHtml("test"); 
$mail->setFrom("[email protected]");  

$mail->setSubject("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't"); 

$recipients[] = "[email protected]";  
$mail->send($recipients); 

&

$mail = new PHPMailer(); 
$mail->IsMail(); 
$mail->FromName = 'test'; 
$mail->From = '[email protected]'; 
$mail->AddAddress("[email protected]"); 
$mail->Subject = "The ï, ö, ë, ä, and é work, but when adding the ü it doesn't"; 
$mail->Body = "test";  
$mail->Send(); 

:私はまた、別のメールライブラリを試してみました(HTMLMimeMail & phpmailerの)、彼らの両方が、この時に失敗しますか?

答えて

8

quoted-printableは、対象のヘッダーをエンコードする必要があります。このよう

:PHPで

$mail->Subject = "=?UTF-8?Q?" . quoted_printable_encode("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't") . "?="; 

引用符で囲まれた印刷可能なエンコード:http://www.php.net/manual/en/function.quoted-printable-encode.php

編集:$mail->CharSet = "UTF-8";は仕事をしました。

+0

ありがとうございますが、これで解決できませんでした。 === UTF-8?Q?= C3 = AF、= C3 = B6、= C3 = AB、= C3 = A4、= C3 = A9の作業になりましたが、== C3 = BCそれはありません?= – Sander

+4

うーん、 '$ mail-> CharSet =" UTF-8 ";'を追加して、quoted-printableのものを削除すれば十分でしょう。それを試して、どのように動作するか教えてください! –

+0

PHPMailerの仕事をしてくれたSuper::)ありがとう。今度は私のミームメールコードで見ることができるように、私はこれに似たオプションを試しましたが、私は明らかに正しい設定を見逃しました。あなたは同じ修正を適用するために私がミメメールに設定する必要があることをおそらく知っていますか? – Sander

関連する問題