PHP发送没有PEAR :: Mail PEAR :: Mail_Mime的UTF-8邮件

时间:2009-09-30 21:11:48

标签: php email pear

我希望能够发送包含8位字符åäö的PHP mail()的电子邮件。它们将用于主题,消息和“From:” - 标题中。如何在不使用PEAR包的情况下执行此操作?

3 个答案:

答案 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";
}

这对我有用