我有一个功能完善的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);
答案 0 :(得分:0)
所以我对你的梨邮件实用程序不太确定,但是utf-8的普通php标题看起来像这样
$headers = array("Content-Type: text/html; charset=UTF-8");
以下是一些有用的信息.. How to send UTF-8 email?