ThinkPHP3.2.3框架郵件發(fā)送功能圖文實(shí)例詳解
本文實(shí)例講述了ThinkPHP3.2.3框架郵件發(fā)送功能。分享給大家供大家參考,具體如下:
背景
-
web 開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)用到郵件的發(fā)送功能,比如接收消費(fèi)賬單的提醒、亞馬遜圖書(shū)推薦的推送,或者網(wǎng)站不正常操作報(bào)警的郵件提示等。
-
下面是一個(gè)在ThinkPHP 3.2.3 框架下集成 PHPMailer 使用的郵件發(fā)送功能實(shí)現(xiàn)過(guò)程,僅供參考,謝謝...

一、前期準(zhǔn)備
1).首先對(duì) STMP 的知識(shí)稍作了解
STMP 簡(jiǎn)介 《百度百科》
2).開(kāi)啟郵箱 STMP 服務(wù)
- 以 163.com 郵箱為例,點(diǎn)擊上方導(dǎo)航欄的“設(shè)置”,選擇“POP3/SMTP/IMAP”進(jìn)行下面的設(shè)置
- 著重記下服務(wù)器地址(SMTP服務(wù)器:smtp.163.com)

- 然后點(diǎn)擊“客戶(hù)端授權(quán)密碼”進(jìn)行權(quán)限設(shè)置,一般會(huì)進(jìn)行短信的驗(yàn)證,并記錄下自己設(shè)定的授權(quán)登錄密碼,后面的代碼中需要用到。

二、代碼實(shí)現(xiàn)
1).在公共配置文件中,進(jìn)行數(shù)據(jù)配置
//郵件發(fā)送 配置
'EMAIL_CONFIG' => array(
'host' => 'smtp.163.com',
'post' => '25',
'username' => 'xxxxxxxxxx@163.com',//TODO 郵箱賬號(hào)
'password' => 'xxxxxxx',//TODO 客戶(hù)端授權(quán)密碼
'sender' => '木頭人',//TODO 發(fā)送人昵稱(chēng)
),
2).Email 核心代碼如下
- 注意 phpmailer 代碼包所放的位置,以便后面的 Email 類(lèi)的實(shí)例化
- 此處代碼主要是調(diào)用配置文件數(shù)據(jù),無(wú)需變動(dòng),需要深入學(xué)習(xí)的可以自行閱讀.

3).設(shè)計(jì)前端顯示界面
- 路徑:./Application/M/Vieww/Email/index.html
- 核心 js 代碼如下:
function send() {
var toUrl = "{:U('Email/send')}";
var postData = $("#form-email").serialize();
$.ajax({
type: "POST",
url: toUrl,
data: postData,
dataType: "json",
success: function (res) {
layer.msg(res.message);
}
});
}
4).后臺(tái)代碼
- 路徑:‘.\Application\M\Controller\EmailController.class.php'
- 調(diào)用郵件發(fā)送功能的核心代碼為下圖中紅色框內(nèi)三行。

三、功能實(shí)現(xiàn)效果
1).前端信息輸入
- 注意:郵箱輸入錯(cuò)誤或者內(nèi)容填寫(xiě)太過(guò)隨意,會(huì)造成發(fā)送失敗,郵件可在發(fā)送者郵箱看到,提示“抱歉,您的郵件被退回來(lái)了...”。
郵件發(fā)送前端顯示
2).接收郵箱的成功接收
- 如果操作正常,上面輸入的郵箱中會(huì)接收到對(duì)應(yīng)的郵件,但是有的可能會(huì)在自己的“垃圾箱”中,注意查收.
成功進(jìn)行郵件接收
三、附錄
1).參考視頻:http://coding.imooc.com/learn/list/85.html
2).源代碼下載:https://github.com/JingYin007/zmPro
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- PHP使用gearman進(jìn)行異步的郵件或短信發(fā)送操作詳解
- PHP發(fā)送郵件確認(rèn)驗(yàn)證注冊(cè)功能示例【修改別人郵件類(lèi)】
- PHP示例演示發(fā)送郵件給某個(gè)郵箱
- php判斷電子郵件是否正確方法
- PHP實(shí)現(xiàn)SMTP郵件的發(fā)送實(shí)例
- PHP使用SMTP郵件服務(wù)器發(fā)送郵件示例
- 實(shí)例分析PHP中PHPMailer發(fā)郵件
- ThinkPHP3.2利用QQ郵箱/163郵箱通過(guò)PHPMailer發(fā)送郵件的方法
- ThinkPHP5郵件發(fā)送服務(wù)封裝(可發(fā)附件)
- 詳解thinkphp5+swoole實(shí)現(xiàn)異步郵件群發(fā)(SMTP方式)
- PHP使用POP3讀取郵箱接收郵件的示例代碼
相關(guān)文章
PHP和MYSQL實(shí)現(xiàn)分頁(yè)導(dǎo)航思路詳解
這篇文章主要介紹了PHP和MYSQL實(shí)現(xiàn)分頁(yè)導(dǎo)航思路詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04
codeigniter中view通過(guò)循環(huán)顯示數(shù)組數(shù)據(jù)的方法
這篇文章主要介紹了codeigniter中view通過(guò)循環(huán)顯示數(shù)組數(shù)據(jù)的方法,實(shí)例分析了codeigniter中view方法與數(shù)組遍歷的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
PHPCMS V9 添加二級(jí)導(dǎo)航的思路詳解
這篇文章主要介紹了PHPCMS V9 添加二級(jí)導(dǎo)航所遇到些問(wèn)題,查詢(xún)導(dǎo)航欄的信息時(shí)返回的$r[arrchildid]與自己想象的不符,文檔上說(shuō)是返回子欄目id但是卻有些不同。下面小編通過(guò)分享本文給大家解答下2016-10-10
詳解Laravel5.6 Passport實(shí)現(xiàn)Api接口認(rèn)證
這篇文章主要介紹了詳解Laravel5.6 Passport實(shí)現(xiàn)Api接口認(rèn)證,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
淺析Yii2 GridView實(shí)現(xiàn)下拉搜索教程
這篇文章主要介紹了淺析Yii2 GridView實(shí)現(xiàn)下拉搜索教程的相關(guān)資料,需要的朋友可以參考下2016-04-04
Thinkphp頁(yè)面跳轉(zhuǎn)設(shè)置跳轉(zhuǎn)等待時(shí)間的操作
今天小編就為大家分享一篇Thinkphp頁(yè)面跳轉(zhuǎn)設(shè)置跳轉(zhuǎn)等待時(shí)間的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10

