使用PHPMailer發送帶附件并支持HTML內(nèi)容的郵件
- 作(zuò)者:admin
- 發表時(shí)間(jiān):2013-07-02 14:16:57
- 來(lái)源:未知
PHPMailer是一個(gè)封裝好的PHP郵件發送類,支持發送HTML內(nèi)容的電(diàn)子郵件,以及可(kě)以添加附件發送,并不像PHP本身mail()函數(shù)需要服務器(qì)環境支持,您隻需要設置郵件服務器(qì)以相關信息就能實現郵件發送功能。
本文将結合實例代碼,講解如何設置和(hé)實現發送HTML以及帶附件的郵件功能。
首先,您可(kě)以到PHPMailer獲取最新的下載包,解壓到WEB目錄下。
然後建立一個(gè)sendmail.php的文件,載入PHPMailer類,并設置相關屬性參數(shù),如郵件服務器(qì)地址,發件人(rén)和(hé)收件人(rén),郵件內(nèi)容等等,詳情請(qǐng)看代碼:
require_once('class.phpmailer.php'); //載入PHPMailer類 $mail = new PHPMailer(); //實例化 $mail->IsSMTP(); // 啓用SMTP $mail->Host = "smtp.163.com"; //SMTP服務器(qì) 以163郵箱為(wèi)例子 $mail->Port = 25; //郵件發送端口 $mail->SMTPAuth = true; //啓用SMTP認證 $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //編碼方式 $mail->Username = "helloweba@163.com"; //你(nǐ)的郵箱 $mail->Password = "xxx"; //你(nǐ)的密碼 $mail->Subject = "你(nǐ)好"; //郵件标題 $mail->From = "helloweba@163.com"; //發件人(rén)地址(也就是你(nǐ)的郵箱) $mail->FromName = "月光光"; //發件人(rén)姓名 $address = "xyz@163.com";//收件人(rén)email $mail->AddAddress($address, "親");//添加收件人(rén)(地址,昵稱) $mail->AddAttachment('xx.xls','我的附件.xls'); // 添加附件,并指定名稱 $mail->IsHTML(true); //支持html格式內(nèi)容 $mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //設置郵件中的圖片 $mail->Body = '你(nǐ)好, 朋友(yǒu)! 這是一封來(lái)自helloweba.com的郵件! '; //郵件主體(tǐ)內(nèi)容 //發送 if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
從代碼中可(kě)以看出,實例化PHPMailer後,我們指定使用SMTP方式來(lái)發郵件,設置SMTP郵件服務器(qì),并啓用SMTP認證,如果您的郵件服務器(qì)不需要認證,則設置$mail->SMTPAuth=false,并且不需要密碼就可(kě)以發送。然後設置字符集和(hé)編碼支持中文字符,注意原版的PHPMailer包對中文字符的支持不太理(lǐ)想,所以您可(kě)以下載helloweba示例中的改進包。然後設置發件人(rén)和(hé)收件人(rén),添加附件。注意附件原名最好不要用中文,可(kě)以在AddAttachment()指定中文名稱。然後設置郵件html內(nèi)容,最後就是發送,流程一目了然,
如果發送成功,将會(huì)收到如下郵件:
聯系我們
一切良好工作(zuò)的開(kāi)始,都需相互之間(jiān)的溝通(tōng)搭橋,歡迎咨詢。