Drupal to Pear Mail UTF-8编码失败

时间:2013-01-31 12:45:22

标签: drupal utf-8 pear

我有一个功能完善的Drupal网站,由Venture Web为我开发。

我的问题是我的服务器上没有php mail(),而是使用Pear邮件工具。我目前正在将Drupal链接到我用PHP开发的一个邮件实用程序,该实用程序调用Pear邮件功能。

除了UTF-8编码似乎存在问题之外,它工作正常。最明显的是涉及法语人物。

例如,如果我尝试邮寄短语:

测试pourlescaractèresspéciaux。 À,ç,ê,ù

当我显示我正在捕获消息的变量的内容时,$ message,我得到你上面看到的内容。

但是当电子邮件发送时我得到:

测试pourlescaractèrespéciaux。 À,ç,ê,ù

以下是相关的PHP代码:

    $hdrs = array(
    'From'      => $email,
    'To'        => $tomail,
    'Cc'        => not included for security reasons,
    'Subject'   => $subjectline,
    'Content-Transfer-Encoding' => 'quoted-printable'
                       );
    $recipients=$tomail.', inquiries@barkbusters.ca';
    $mime = new Mail_mime($crlf);
    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);

    //do not ever try to call these lines in reverse order
    $body = $mime->get(array('text_charset' => 'utf-8'));
    $hdrs = $mime->headers($hdrs);

    $params["host"] = 'smtp.barkbusters.ca';
    $params["port"] = "26";
    $params["auth"] = true;
    $params["username"] = not included for security reasons;
    $params["password"] = not included for security reasons;

    $mail =& Mail::factory('smtp', $params);
    $mail->send($recipients, $hdrs, $body);

1 个答案:

答案 0 :(得分:0)

所以我对你的梨邮件实用程序不太确定,但是utf-8的普通php标题看起来像这样

$headers = array("Content-Type: text/html; charset=UTF-8");

以下是一些有用的信息.. How to send UTF-8 email?