2012-08-12 61 views
0

我一直在尝试PHPMailer示例脚本,如其README文件中给出的。现在,当我运行该脚本:在邮件正文中用PHP封装的MIME头文件邮寄问题

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

$mail = new phpmailer; 

//$mail->IsSMTP(); // set mailer to use SMTP 
$mail->From = "[email protected]"; 
$mail->FromName = "Mailer"; 
//$mail->Host = "smtp1.site.com;smtp2.site.com"; // specify main and backup server 
$mail->AddAddress("[email protected]"); 
//$mail->AddAddress("[email protected]"); // name is optional 
$mail->AddReplyTo("[email protected]", "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-发送邮件]:不支持的字符集 “” ISO-8859 -1 “;” - 在 /export/opt/samplefiles/phpmailer.inc.php将被视为ASCII上线162

和所接收的消息中包含的报头,以及:

MIME的版本:1.0这是邮件正文

请帮

回答

0

我刚刚意识到我实际上一直在使用旧版本的PHPMailer(版本0.89或其他)。我已经把自己变成了一个新的5.2并且看起来已经解决了。无论如何感谢:P

0

正在使用在普通在mb_send_mail()第一个警告提示函数。这是不太可能在PHPMailer包中做好准备。

这是设置mbstring.func_overload你必须小心。它不应该有位零集。 (例如改变54 - 或七至6, - 从3或例如用于2。)

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

如果这不适应,那么在将mb_encode_mimeheader()应用于所提供的值之后,解决方法可能是mb_internal_encoding("UTF-8");以避开错误消息。可能你必须修改PHPMailer来忽略charaset参数中的引号。