本文實例講述了thinkphp使用phpmailer發送郵件的方法。分享給大家供大家參考。具體分析如下:
phpmailer發送郵件是php開發者首選的一個郵件發送插件了,下面我來介紹怎麼集成phpmailer到thinkphp框架了,感興趣的朋友可以參考一下。
phpmailer發送郵件功能很強大,今天真正的體驗一下,這裡先簡單說一下配置,本人是在thinkphp中使用的.
配置步驟:
1.後台配置發送郵件類,位置admin/common/common.php中,代碼如下:
復制代碼 代碼如下:function sendmail($tomail,$title,$content)
{
/*郵件設置信息*/
$email_set = C('EMAIL_SET');
Vendor('phpmailer.class#phpmailer');
Vendor("phpmailer.class#smtp"); //可選,否則會在class.phpmailer.php中包含
$mail = new PHPMailer(true); //實例化PHPMailer類,true表示出現錯誤時拋出異常
$mail->IsSMTP(); // 使用SMTP
$mail->CharSet ="UTF-8";//設定郵件編碼
$mail->Host = $email_set['Host']; // SMTP server
$mail->SMTPDebug = 1; // 啟用SMTP調試 1 = errors 2 = messages
$mail->SMTPAuth = true; // 服務器需要驗證
$mail->Port = $email_set['port']; // 設置端口
// $mail->SMTPSecure = "ssl";
/*
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
*/
$mail->Username = $email_set['email_user']; //SMTP服務器的用戶帳號
$mail->Password = $email_set['email_pwd']; //SMTP服務器的用戶密碼
$mail->AddReplyTo($email_set['email'],$email_set['email_name']); //收件人回復時回復到此郵箱,可以多次執行該方法
if (is_array($tomail)){
foreach ($tomail as $m){
$mail->AddAddress($m, 'user');
}
}else{
$mail->AddAddress($tomail, 'user');
}
$mail->SetFrom($email_set['email'],$email_set['email_name']);
// $mail->AddAttachment('./img/phpmailer.gif'); // 添加附件,如果有多個附件則重復執行該方法
$mail->Subject = $title;
//以下是郵件內容相關
$mail->Body = $content;
$mail->IsHTML(true);
//$body = file_get_contents('tpl.html'); //獲取html網頁內容
// $mail->MsgHTML(eregi_replace("[]",'',$body));
return $mail->Send()? true:false;
}
2:配置文件中配置參數,代碼如下:
復制代碼 代碼如下:/*郵件設置*/
'EMAIL_SET'=>array(
'Host'=> "smtp.163.com",
'Port'=>'25',
'email_user'=>'liuying',
'email_pwd'=>'123456',
'email'=>'[email protected]',
'email_name'=>'jb51',
)
3.測試發送代碼,代碼如下:
復制代碼 代碼如下:sendmail('[email protected]','您好','這裡是內容');
希望本文所述對大家的PHP程序設計有所幫助。