RELATEED CONSULTING
相關咨詢
選擇下列産品馬上(shàng)在線溝通(tōng)
服務時(shí)間(jiān):9:00-18:00
你(nǐ)可(kě)能遇到了下面的問題
關閉右側工具欄
使用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以及帶附件的郵件功能。

查看演示DEMO 下載源碼

首先,您可(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的郵件! helloweba'; //郵件主體(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ì)收到如下郵件: