【发布时间】:2010-12-02 19:25:27
【问题描述】:
我希望能够使用包含 8 位字符 åäö 的 PHP mail() 发送电子邮件。它们将用于主题、消息和“发件人:”标题中。如何在不使用 PEAR 包的情况下做到这一点?
【问题讨论】:
我希望能够使用包含 8 位字符 åäö 的 PHP mail() 发送电子邮件。它们将用于主题、消息和“发件人:”标题中。如何在不使用 PEAR 包的情况下做到这一点?
【问题讨论】:
如果您不介意对不需要的单词进行编码,最简单的解决方案是将所有内容放在 base64 RFC 2047 编码字中:
$subject= "=?utf-8?b?".base64_encode($subject)."?=";
$body= "blah blah $utf8text blah";
$headers= "MIME-Version: 1.0\r\n";
$headers.= "From: =?utf-8?b?".base64_encode($fromname)."?= <$fromaddress>\r\n";
$headers.= "Content-Type: text/plain;charset=utf-8";
mail($toaddress, $subject, $body, $headers);
【讨论】:
使用 swiftmailer 库。 http://swiftmailer.org/
【讨论】:
$headers = array('From' => $from,
'To' => "<$to>",
'Subject' => $subject);
if ($is_html) {
$headers['Content-type'] = "text/html; charset=UTF-8";
} else {
$headers['Content-type'] = "text/plain; charset=UTF-8";
}
这对我有用
【讨论】: