2012-08-12 110 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參數中的引號。