如何设置邮件主题的变音ü(How to set an umlaut ü in the mail su

2019-07-04 07:32发布

我需要生成含有元音字符德国电子邮件。 在电子邮件本身这个完美的作品,但不是在电子邮件的主题。 我已经尝试了很多不同的元音字母,他们都似乎除了ü工作。 我也尝试过不同的邮件库(HTMLMimeMail&PHPMailer的),他们都未能在此:

$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("test@test.nl");    

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

$recipients[] = "me@myhost.nl";    
$mail->send($recipients);

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

谁能帮我找的来源和解决这个问题?

Answer 1:

你应该引用可打印的主题标题编码。

像这样:

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

在PHP中引用的可打印编码: http://www.php.net/manual/en/function.quoted-printable-encode.php

编辑: $mail->CharSet = "UTF-8"; 做了工作。



文章来源: How to set an umlaut ü in the mail subject