首頁 >後端開發 >php教程 >PHPMailer發送中文名稱附件

PHPMailer發送中文名稱附件

WBOY
WBOY原創
2016-08-08 09:28:321470瀏覽

轉帖請註明本文出自skypupil的部落格(http://blog.csdn.net/u011956441/article/details/44161587),請尊重他人的辛勤勞動成果,謝謝!

我的應用場景是:在一個網頁上當用戶輸入郵箱地址並點擊「發送郵件」按鈕後,調用sendMail.php向用戶發送帶附件的郵件。

遇到的問題是:當附件的名稱是英文名時能正確發送,但是當附件名是中文時,用戶郵箱就收不到附件。以下是我的解決方法:先上sendMail.php程式碼:

rrr

>AddAttachment(iconv('utf-8', 'gb2312', 'pdfs/測試.pdf'), '測試.pdf');」這行。

addAttachment--方法 

出自:PHPMailer::addAttachment() .

說明:新增附件。 addAttachment(

$path,$name = '',$encoding = 'base64',$

type = 'application/octet-stream'){} 出自:PHP (>= 4.0.5)函數原型:string , string $

out_charset , string $str )

轉換編碼到 out_

charset。

了解了上面兩個方法後,就明白了PHPMailer之所以不能發送中文名稱的附件,是因為PHPMailer不能正確讀取utf-8編碼的中文文件路徑,只要編碼的中文文件路徑,只要將中文編碼文件路徑轉換成gb2312編碼後,就能正確發送了。 最後,附上SMTP伺服器連接埠號碼位址:http://blog.wpjam.com/m/gmail-qmail-163mail-imap-smtp-pop3/

以上就介紹了PHPMailer發送中文名稱附件,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn