环境: LINUX 邮件服务器系统
MYSQL: UTF-8格式
PHPmailer:phpmailer-0.9.tar.gz

parent::mail(Tool::emailList(),'这是测试标题','测试内容');
//Tool::emailList()为从数据库中取出来的数据
print_r(Tool::emailList()); 
//Array ( [张三] => [email protected] [李思] => [email protected] ) //php代码
protected function mail($_address,$_subject,$_body){
$_mail = new Phpmailer();
$_mail->IsSMTP(); 
$_mail->From = MAIL_FROM; 
$_mail->FromName = MAIL_NAME;
$_mail->Host = MAIL_HOST; 

$_mail->Priority = 3;
$_mail->CharSet = 'UTF-8';
$_mail->Encoding = 'base64';

$_mail->IsHTML(true); 
foreach ($_address as $_key=>$_value){
$_mail->AddAddress("$_value","$_key");
}
$_mail->WordWrap = 50;  
$_mail->Subject = "=?utf-8?B?" . base64_encode($_subject) . "?=";
$_mail->Body = "$_body";
$_mail->Send();
}由以上的代码发到指定的MAIL后,
MAIL里面内容与名字都为乱码;如下
看了挺多的网上资料,都说改成同一格式的代码..我都是同一代码啊~~ 
$_mail->Subject = "=?utf-8?B?" . base64_encode($_subject) . "?=";
这个标题改成上面的才不显示乱码..

解决方案 »

  1.   

    內容問題解決了..:用: $_body = '
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Your Title</title>
    </head>
    <body>
    <h2>這是一個測試內容</h2>
    </body>
    </html>';指定UTF-8可以了.但是郵件夈有那個東東..怎麼辦啊..