我有一个由 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);