前段時(shí)間寫了一篇博客:thinkphp集成系列之短信驗(yàn)證碼、訂單通知
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供海口網(wǎng)站建設(shè)、??谧鼍W(wǎng)站、海口網(wǎng)站設(shè)計(jì)、??诰W(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、海口企業(yè)網(wǎng)站模板建站服務(wù),十載海口做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
說了這是一個(gè)短信通知泛濫的年代;大部分網(wǎng)站的郵箱注冊(cè)都已經(jīng)被短信注冊(cè)所取代;
但是郵件和短信相比在一些場景依然有著重要的意義和優(yōu)勢;
1:零成本;發(fā)郵件沒有費(fèi)用;
2:內(nèi)容豐富且量大;郵件可以長篇大論;圖文并茂;
3:增加訪問量;用戶很容易通過郵件中的鏈接訪問網(wǎng)站;
好了;下面來來為thinkphp集成郵件系統(tǒng);
示例項(xiàng)目:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
一:引入phpmail
從示例項(xiàng)目中復(fù)制兩個(gè)文件到自己的項(xiàng)目;
/ThinkPHP/Library/Org/Nx/class.phpmailer.php ;
/ThinkPHP/Library/Org/Nx/class.smtp.php ;
不要從官網(wǎng)上下載;因?yàn)橄螺d的phpmail直接引入thinkphp是有一些坑會(huì)報(bào)錯(cuò)的;
具體報(bào)什么錯(cuò);年代久遠(yuǎn);當(dāng)年整合的時(shí)候沒有記錄;
二:設(shè)置配置項(xiàng)
/Application/Common/Conf/config.php
'EMAIL_FROM_NAME' => '', // 發(fā)件人 'EMAIL_SMTP' => '', // SMTP服務(wù)器 'EMAIL_USERNAME' => '', // 賬號(hào) 'EMAIL_PASSWORD' => '', // 密碼
如果使用163郵箱;此處有一個(gè)坑;首先是要開啟smtp;
開啟過程中是要設(shè)置一個(gè)授權(quán)密碼;開啟完成;又一個(gè)坑也就同步挖好了;
配置項(xiàng)中的EMAIL_PASSWORD 指的不是163郵箱的登錄密碼;而是授權(quán)密碼;
否則SMTP connect() failed;
三:發(fā)送郵件
/** * 發(fā)送郵件 * @param string $address 需要發(fā)送的郵箱地址 發(fā)送給多個(gè)地址需要寫成數(shù)組形式 * @param string $subject 標(biāo)題 * @param string $content 內(nèi)容 * @return boolean 是否成功 */ function send_email($address,$subject,$content){ $email_smtp=C('EMAIL_SMTP'); $email_username=C('EMAIL_USERNAME'); $email_password=C('EMAIL_PASSWORD'); $email_from_name=C('EMAIL_FROM_NAME'); if(empty($email_smtp) || empty($email_username) || empty($email_password) || empty($email_from_name)){ return array("error"=>1,"message"=>'郵箱配置不完整'); } require './ThinkPHP/Library/Org/Nx/class.phpmailer.php'; require './ThinkPHP/Library/Org/Nx/class.smtp.php'; $phpmailer=new \Phpmailer(); // 設(shè)置PHPMailer使用SMTP服務(wù)器發(fā)送Email $phpmailer->IsSMTP(); // 設(shè)置為html格式 $phpmailer->IsHTML(true); // 設(shè)置郵件的字符編碼' $phpmailer->CharSet='UTF-8'; // 設(shè)置SMTP服務(wù)器。 $phpmailer->Host=$email_smtp; // 設(shè)置為"需要驗(yàn)證" $phpmailer->SMTPAuth=true; // 設(shè)置用戶名 $phpmailer->Username=$email_username; // 設(shè)置密碼 $phpmailer->Password=$email_password; // 設(shè)置郵件頭的From字段。 $phpmailer->From=$email_username; // 設(shè)置發(fā)件人名字 $phpmailer->FromName=$email_from_name; // 添加收件人地址,可以多次使用來添加多個(gè)收件人 if(is_array($address)){ foreach($address as $addressv){ $phpmailer->AddAddress($addressv); } }else{ $phpmailer->AddAddress($address); } // 設(shè)置郵件標(biāo)題 $phpmailer->Subject=$subject; // 設(shè)置郵件正文 $phpmailer->Body=$content; // 發(fā)送郵件。 if(!$phpmailer->Send()) { $phpmailererror=$phpmailer->ErrorInfo; return array("error"=>1,"message"=>$phpmailererror); }else{ return array("error"=>0); } }
發(fā)送郵件調(diào)用函數(shù);
send_email('baijunyao@baijunyao','郵件標(biāo)題','郵件內(nèi)容'); // 如果群發(fā)郵件 則傳入數(shù)組即可 $emails=array('b1@baijunyao.com','b2@baijunyao.com'); send_email($emails,'郵件標(biāo)題','郵件內(nèi)容');
本文為白俊遙原創(chuàng)文章,轉(zhuǎn)載無需和我聯(lián)系,但請(qǐng)注明來自白俊遙博客http://baijunyao.com