0

我一直在尝试其 README 文件中给出的 PHPMailer 示例脚本。现在,当我运行该脚本时:

<?php
require("phpmailer.inc.php");

$mail = new phpmailer;

//$mail->IsSMTP(); // set mailer to use SMTP
$mail->From = "from@email.com";
$mail->FromName = "Mailer";
//$mail->Host = "smtp1.site.com;smtp2.site.com";  // specify main and backup server
$mail->AddAddress("someone@someplace.com");
//$mail->AddAddress("ellen@site.com");   // name is optional
$mail->AddReplyTo("info@site.com", "Information");
$mail->WordWrap = 50;    // set word wrap
//$mail->AddAttachment("c:\\temp\\js-bak.sql");  // add attachments
//$mail->AddAttachment("c:/temp/11-10-00.zip");

$mail->IsHTML(true);    // set email format to HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the message body";
$mail->Send(); // send message
?>

我收到以下警告:

警告:mb_send_mail() [function.mb-send-mail]: 不支持的字符集 ""iso-8859-1";" - 在第 162 行的 /export/opt/samplefiles/phpmailer.inc.php 中将被视为 ascii

并且收到的消息也包含标题:

Mime-Version: 1.0 这是邮件正文

请帮忙

4

2 回答 2

0

第一个警告暗示在mb_send_mail()普通mail()函数上使用。这不太可能在PHPMailer包装中准备好。

这是mbstring.func_overload您必须注意的设置。它不应该设置零位。(例如更改54 -- 或从七更改为六,- 或例如从3更改为2。)

它必须设置在php.inior.user.ini中。函数重载无法在运行时修复。

如果这不适应,那么解决方法可能是在应用提供的值mb_internal_encoding("UTF-8");之后避开错误消息。mb_encode_mimeheader()但是,您可能必须调整 PHPMailer 以省略字符集参数周围的引号。

于 2012-08-12T09:03:41.590 回答
0

我刚刚意识到我实际上一直在使用旧版本的 PHPMailer(0.89 版或其他版本)。我给自己买了一个更新的 5.2,它似乎已经解决了。无论如何谢谢:P

于 2012-08-13T04:53:55.913 回答