1

我有一个由 Venture Web 为我开发的完美运行的 Drupal 站点。

我的问题是我的服务器上没有可用的 php mail() 但有 Pear 邮件实用程序。我目前正在从 Drupal 链接到我自己用 PHP 开发的一个邮件实用程序,该实用程序调用 Pear 邮件函数。

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

例如,如果我尝试邮寄这句话:

测试倒 les caractères spéciaux。À, ç, ê, ù

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

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

测试倒 les caractéres spé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);
4

1 回答 1

0

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

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

这是一些有用的信息。 如何发送 UTF-8 电子邮件?

于 2013-01-31T20:48:23.837 回答