我希望能够发送包含8位字符åäö的PHP mail()的电子邮件。它们将用于主题,消息和“From:” - 标题中。如何在不使用PEAR包的情况下执行此操作?
答案 0 :(得分:4)
最简单的解决方案,如果您不介意编码,即使是不需要它的单词,也可以将所有内容放在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);
答案 1 :(得分:0)
使用swiftmailer库。 http://swiftmailer.org/
答案 2 :(得分:-2)
$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";
}
这对我有用