使用Zend_mail在utf-8編碼的郵件中

通常寫法是這樣

     $mail = new Zend_Mail('utf-8');

    $mail->setBodyText('測試信件');

    $mail->setBodyHtml($str);

    $mail->setFrom('aaa@xxx.com');

    $mail->addTo($email, $email);

    $mail->setSubject('測試信件');

    $mail->send();

 

在信件的主旨內容如太長,就會出現亂碼

可修改成以下的:

     $mail = new Zend_Mail('utf-8');

    $mail->setBodyText('測試信件','utf-8',Zend_Mime::ENCODING_BASE64);

    $mail->setBodyHtml($str,'utf-8',Zend_Mime::ENCODING_BASE64);

    $mail->setFrom('aaa@xx.com', 'Service Center');

    $mail->addTo($email, $email);

    $mail->setSubject("=?UTF-8?B?".base64_encode('測試信件')."?=");

    $mail->send();

直接指定編碼和編碼方式就可以了!

 

創作者介紹
創作者 miggo 的頭像
miggo

麥克的學習紀錄

miggo 發表在 痞客邦 留言(0) 人氣()