thinkphp5使用phpmailer發送郵件

一、首先讓郵箱開啓smtp服務,本案例使用163的SMTP服務器: smtp.163.com發送郵件 php

二、下載phpmailer,在tp項目裏的extends文件夾下新建一個文件夾phpmailer,把class.phpmailer.php和class.smtp.php放到裏面,修改文件名爲phpmailer.php和 SMTP.php\\注意這裏是大寫的SMTP(由於在phpmailer.php中實例化SMTP類是大寫的,tp5中實例化類名要與文件名要一致),否則會報錯的,而後在兩個文件內頭部加入命名空間namespace phpmailer;
三、 在phpmailer.php中的2315行使用到了php的Exception異常類,在thinkphp框架中直接繼承,thinkphp找不到Exception因此要在 Exception前加上反斜槓 \

 
四、在公共文件common.php中加入下面代碼
/*
* 發送郵件
* @param $to string 要發送的郵箱地址
* @param $title string 郵件標題
* @param $content string 郵件內容
* @return bool
* */

function sendMail($to, $title, $content) {

$mail = new \phpmailer\phpmailer(); //實例化
$mail->IsSMTP(); // 啓用SMTP
$mail->Host=config('MAIL_HOST'); //smtp服務器的名稱(這裏以163郵箱爲例)
$mail->SMTPAuth = config('MAIL_SMTPAUTH'); //啓用smtp認證
$mail->Username = config('MAIL_USERNAME'); //發件人郵箱名
$mail->Password = config('MAIL_PASSWORD') ; //163郵箱發件人受權密碼
$mail->From = config('MAIL_FROM'); //發件人地址(也就是你的郵箱地址)
$mail->FromName = config('MAIL_FROMNAME'); //發件人姓名
$mail->AddAddress($to,"尊敬的客戶");
$mail->WordWrap = 50; //設置每行字符長度
$mail->IsHTML(config('MAIL_ISHTML')); // 是否HTML格式郵件
$mail->CharSet=config('MAIL_CHARSET'); //設置郵件編碼
$mail->Subject =$title; //郵件主題
$mail->Body = $content; //郵件內容
$mail->AltBody = "郵件驗證,請用網頁打開"; //郵件正文不支持HTML的備用顯示
return($mail->Send());
}

 

 

 
五、在公共配置文件config.php中加入下面代碼
//郵箱驗證配置
'MAIL_HOST' =>'smtp.163.com',//smtp服務器的名稱
'MAIL_SMTPAUTH' =>TRUE, //啓用smtp認證
'MAIL_USERNAME' =>'177****123@163.com',//發件人的郵箱名
'MAIL_PASSWORD' =>'*******',//163郵箱發件人受權密碼
'MAIL_FROM' =>'177****123@163.com',//發件人郵箱地址
'MAIL_FROMNAME'=>'美麗說商城',//發件人姓名
'MAIL_CHARSET' =>'utf-8',//設置郵件編碼
'MAIL_ISHTML' =>TRUE, // 是否HTML格式郵件

 

六、在須要使用的地方調用函數便可
sendMail('38****03@qq.com','郵件標題','郵件內容');

 

更多內容參考: http://blog.csdn.net/iloveyougirls/article/details/52710284
相關文章
相關標籤/搜索