ThinkPHP框架實(shí)現(xiàn)的郵箱激活功能示例
本文實(shí)例講述了ThinkPHP框架實(shí)現(xiàn)的郵箱激活功能。分享給大家供大家參考,具體如下:
配置框架采用ThinkPHP3.1框架,如下所示:
配置過程圖:
1.修改配置如下:
<?php return array( //'配置項(xiàng)'=>'配置值' 'MAIL_ADDRESS'=>'shcg666@sohu.com', // 郵箱地址 'MAIL_SMTP'=>'smtp.sohu.com', // 郵箱SMTP服務(wù)器 'MAIL_LOGINNAME'=>'shcg666@sohu.com', // 郵箱登錄帳號(hào) 'MAIL_PASSWORD'=>'******', // 郵箱密碼 );
2.在功能里面增加一個(gè)類
<?php class EmailAction extends Action{ /* * microtime() 函數(shù)返回當(dāng)前 Unix 時(shí)間戳和微秒數(shù)。 * mt_srand() 播種 Mersenne Twister 隨機(jī)數(shù)生成器。從 PHP 4.2.0 版開始,seed 參數(shù)變?yōu)榭蛇x項(xiàng),當(dāng)該項(xiàng)為空時(shí),會(huì)被設(shè)為隨時(shí)數(shù)。 * 注釋:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函數(shù)給隨機(jī)數(shù)發(fā)生器播種,現(xiàn)已自動(dòng)完成。 * pow — 指數(shù)表達(dá)式 */ //random()這個(gè)函數(shù)是我用來生成一個(gè)隨機(jī)數(shù)的,$numeric = 0生成一個(gè)6位的大小寫字母與數(shù)字混合的字符串。$numeric = 1生成一個(gè)6位數(shù)字的字符串 public function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } //發(fā)送郵件的方法 public function index(){ //生成6位激活碼 $random = $this->random(6,0); //獲取本網(wǎng)站的域名,域名在config里面配置下. //例如'domain' => 'http://write.blog.csdn.net', $domain = C('domain'); //生成激活碼模塊地址 $url = $domain.U("Home/Email/activate")."/?yam=$random"; //將郵件地址和隨機(jī)數(shù)放入session session("shcg666@sohu.com","$random"); //發(fā)送郵件 SendMail("shcg666@sohu.com","這是郵件標(biāo)題","將此網(wǎng)址復(fù)制到瀏覽框$url"); } } function SendMail($address,$title,$message){ //引入文件 vendor('PHPMailer.class#PHPMailer'); require("phpmailer/class.phpmailer.php"); require("phpmailer/class.smtp.php"); //實(shí)例化郵件類 $mail=new PHPMailer(); // 設(shè)置PHPMailer使用SMTP服務(wù)器發(fā)送Email $mail->IsSMTP(); // 設(shè)置郵件的字符編碼,若不指定,則為'UTF-8' $mail->CharSet='UTF-8'; // 添加收件人地址,可以多次使用來添加多個(gè)收件人 $mail->AddAddress($address); // 設(shè)置郵件正文 $mail->Body=$message; // 設(shè)置郵件頭的From字段。//發(fā)件人 $mail->From=C('MAIL_ADDRESS'); // 設(shè)置發(fā)件人名字 $mail->FromName='LilyRecruit'; // 設(shè)置郵件標(biāo)題 $mail->Subject=$title; // 設(shè)置SMTP服務(wù)器。 $mail->Host=C('MAIL_SMTP'); // 設(shè)置為"需要驗(yàn)證" $mail->SMTPAuth=true; // 設(shè)置用戶名和密碼。 $mail->Username=C('MAIL_LOGINNAME'); $mail->Password=C('MAIL_PASSWORD'); // 發(fā)送郵件。 return($mail->Send()); }
3.導(dǎo)入的文件
在網(wǎng)上下載PHPMailer包將class.smtp.php和class.phpmailer.php無需任何改動(dòng),直接復(fù)制進(jìn)來即可。
class.smtp.php文件點(diǎn)擊此處本站下載。
class.phpmailer.php文件完整實(shí)例代碼點(diǎn)擊此處本站下載。
配置完成,具體的處理方式需要進(jìn)一步改動(dòng)。
4.常見郵件服務(wù)器(接收服務(wù)器和發(fā)送郵件服務(wù)器)地址
騰訊QQ郵箱
接收服務(wù)器:pop.qq.com
發(fā)送服務(wù)器:smtp.qq.com
網(wǎng)易126郵箱
接收服務(wù)器:pop3.126.com
發(fā)送服務(wù)器:smtp.126.com
網(wǎng)易163免費(fèi)郵
接收服務(wù)器:pop.163.com
發(fā)送服務(wù)器:smtp.163.com
網(wǎng)易163VIP郵箱
接收服務(wù)器:pop.vip.163.com
發(fā)送服務(wù)器:smtp.vip.163.com
網(wǎng)易188財(cái)富郵
接收服務(wù)器:pop.188.com
發(fā)送服務(wù)器:smtp.188.com
網(wǎng)易yeah.net郵箱
接收服務(wù)器:pop.yeah.net
發(fā)送服務(wù)器:smtp.yeah.net
網(wǎng)易netease.com郵箱
接收服務(wù)器:pop.netease.com
發(fā)送服務(wù)器:smtp.netease.com
新浪收費(fèi)郵箱
接收服務(wù)器:pop3.vip.sina.com
發(fā)送服務(wù)器:smtp.vip.sina.com
新浪免費(fèi)郵箱
接收服務(wù)器:pop3.sina.com.cn
發(fā)送服務(wù)器:smtp.sina.com.cn
搜狐郵箱
接收服務(wù)器:pop3.sohu.com
發(fā)送服務(wù)器:smtp.sohu.com
21cn快感郵
接收服務(wù)器:vip.21cn.com
發(fā)送服務(wù)器:vip.21cn.com
21cn經(jīng)濟(jì)郵
接收服務(wù)器:pop.163.com
發(fā)送服務(wù)器:smtp.163.com
tom郵箱
接收服務(wù)器:pop.tom.com
發(fā)送服務(wù)器:smtp.tom.com
263郵箱
接收服務(wù)器:263.net
發(fā)送服務(wù)器:smtp.263.net
網(wǎng)易163.com郵箱
接收服務(wù)器:rwypop.china.com
發(fā)送服務(wù)器:rwypop.china.com
雅虎郵箱
接收服務(wù)器:pop.mail.yahoo.com
發(fā)送服務(wù)器:smtp.mail.yahoo.com
Gmail郵箱
接收服務(wù)器:pop.gmail.com
發(fā)送服務(wù)器:smtp.gmail.com
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- thinkphp實(shí)現(xiàn)163、QQ郵箱收發(fā)郵件的方法
- ThinkPHP3.2利用QQ郵箱/163郵箱通過PHPMailer發(fā)送郵件的方法
- thinkphp5使用bootstrapvalidator進(jìn)行異步驗(yàn)證郵箱的示例
- thinkphp實(shí)現(xiàn)發(fā)送郵件密碼找回功能實(shí)例
- ThinkPHP利用PHPMailer實(shí)現(xiàn)郵件發(fā)送實(shí)現(xiàn)代碼
- thinkphp使用phpmailer發(fā)送郵件的方法
- 詳解thinkphp5+swoole實(shí)現(xiàn)異步郵件群發(fā)(SMTP方式)
- ThinkPHP發(fā)送郵件示例代碼
- ThinkPHP5郵件發(fā)送服務(wù)封裝(可發(fā)附件)
- PHPMailer ThinkPHP實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能
相關(guān)文章
基于php和mysql的簡單的dao類實(shí)現(xiàn)crud操作功能
一個(gè)簡單的dao,實(shí)現(xiàn)基本的CRUD功能,可以繼承擴(kuò)展為實(shí)際業(yè)務(wù)的dao類,當(dāng)然也可以直接使用2014-01-01laravel 驗(yàn)證錯(cuò)誤信息到 blade模板的方法
今天小編就為大家分享一篇laravel 驗(yàn)證錯(cuò)誤信息到 blade模板的方法,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09laravel migrate初學(xué)常見錯(cuò)誤的解決方法
之前給大家介紹了關(guān)于laravel migrate入門的基礎(chǔ),下面這篇文章主要給大家介紹了關(guān)于laravel migrate初學(xué)時(shí)常見錯(cuò)誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10