詳解ThinkPHP框架如何實現郵箱激活功能

下面由thinkphp框架教程欄目給大家介紹thinkphp框架如何實現郵箱激活功能,希望對需要的朋友有所幫助!

具體如下:

配置框架采用thinkphp3.1框架,如下所示:

配置過程圖:

詳解ThinkPHP框架如何實現郵箱激活功能

立即學習PHP免費學習筆記(深入)”;

1.修改配置如下:

<?php return array(   //&#39;配置項&#39;=>'配置值' ????'mail_ADDRESS'=&gt;'shcg666@sohu.com',?//?郵箱地址 ????'MAIL_SMTP'=&gt;'smtp.sohu.com',?//?郵箱SMTP服務器 ????'MAIL_LOGINNAME'=&gt;'shcg666@sohu.com',?//?郵箱登錄帳號 ????'MAIL_PASSWORD'=&gt;'******',?//?郵箱密碼 );

2.在功能里面增加一個類

<?php class EmailAction extends Action{   /*   * microtime() 函數返回當前 Unix 時間戳和微秒數。   * mt_srand() 播種 Mersenne Twister 隨機數生成器。從 PHP 4.2.0 版開始,seed 參數變為可選項,當該項為空時,會被設為隨時數。   * 注釋:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函數給隨機數發生器播種,現已自動完成。   * pow — 指數表達式   */   //random()這個函數是我用來生成一個隨機數的,$numeric = 0生成一個6位的大小寫字母與數字混合的字符串。$numeric = 1生成一個6位數字的字符串   public function random($length = 6 , $numeric = 0) {   PHP_VERSION < &#39;4.2.0&#39; && mt_srand((double)microtime() * 1000000);   if($numeric) {     $hash = sprintf(&#39;%0&#39;.$length.&#39;d&#39;, mt_rand(0, pow(10, $length) - 1));   } else {     $hash = &#39;&#39;;     $chars = &#39;ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz&#39;;     $max = strlen($chars) - 1;     for($i = 0; $i < $length; $i++) {       $hash .= $chars[mt_rand(0, $max)];     }   }   return $hash;   }   //發送郵件的方法   public function index(){     //生成6位激活碼     $random = $this->random(6,0); ????//獲取本網站的域名,域名在config里面配置下. ????//例如'domain'?=&gt;?'http://write.blog.csdn.net', ????$domain?=?C('domain'); ????//生成激活碼模塊地址 ????$url?=?$domain.U("Home/Email/activate")."/?yam=$random"; ????//將郵件地址和隨機數放入session ????session("shcg666@sohu.com","$random"); ????//發送郵件 ????SendMail("shcg666@sohu.com","這是郵件標題","將此網址復制到瀏覽框$url"); ??} } function?SendMail($address,$title,$message){ ??//引入文件 ??vendor('PHPMailer.class#PHPMailer'); ??require("phpmailer/class.phpmailer.php"); ??require("phpmailer/class.smtp.php"); ??//實例化郵件類 ??$mail=new?PHPMailer(); ??//?設置PHPMailer使用SMTP服務器發送Email ??$mail-&gt;IsSMTP(); ??//?設置郵件的字符編碼,若不指定,則為'UTF-8' ??$mail-&gt;CharSet='UTF-8'; ??//?添加收件人地址,可以多次使用來添加多個收件人 ??$mail-&gt;AddAddress($address); ??//?設置郵件正文 ??$mail-&gt;Body=$message; ??//?設置郵件頭的From字段。//發件人 ??$mail-&gt;From=C('MAIL_ADDRESS'); ??//?設置發件人名字 ??$mail-&gt;FromName='LilyRecruit'; ??//?設置郵件標題 ??$mail-&gt;Subject=$title; ??//?設置SMTP服務器。 ??$mail-&gt;Host=C('MAIL_SMTP'); ??//?設置為"需要驗證" ??$mail-&gt;SMTPAuth=true; ??//?設置用戶名和密碼。 ??$mail-&gt;Username=C('MAIL_LOGINNAME'); ??$mail-&gt;Password=C('MAIL_PASSWORD'); ??//?發送郵件。 ??return($mail-&gt;Send()); }

3.導入的文件

在網上下載PHPMailer包將class.smtp.php和class.phpmailer.php無需任何改動,直接復制進來即可。

class.smtp.php文件點擊鏈接下載(https://share.weiyun.com/6ECQn7Mq)

class.phpmailer.php文件完整實例代碼點擊鏈接下載(https://share.weiyun.com/beakkcPt)

配置完成,具體的處理方式需要進一步改動。

4.常見郵件服務器(接收服務器和發送郵件服務器)地址

騰訊QQ郵箱
接收服務器:pop.qq.com
發送服務器:smtp.qq.com

網易126郵箱
接收服務器:pop3.126.com
發送服務器:smtp.126.com

網易163免費郵
接收服務器:pop.163.com
發送服務器:smtp.163.com

網易163VIP郵箱
接收服務器:pop.vip.163.com
發送服務器:smtp.vip.163.com

網易188財富郵
接收服務器:pop.188.com
發送服務器:smtp.188.com

網易yeah.net郵箱
接收服務器:pop.yeah.net
發送服務器:smtp.yeah.net

網易netease.com郵箱
接收服務器:pop.netease.com
發送服務器:smtp.netease.com

新浪收費郵箱
接收服務器:pop3.vip.sina.com
發送服務器:smtp.vip.sina.com

新浪免費郵箱
接收服務器:pop3.sina.com.cn
發送服務器:smtp.sina.com.cn

搜狐郵箱
接收服務器:pop3.sohu.com
發送服務器:smtp.sohu.com

21cn快感郵
接收服務器:vip.21cn.com
發送服務器:vip.21cn.com

21cn經濟郵
接收服務器:pop.163.com
發送服務器:smtp.163.com

tom郵箱
接收服務器:pop.tom.com
發送服務器:smtp.tom.com

263郵箱
接收服務器:263.net
發送服務器:smtp.263.net

網易163.com郵箱
接收服務器:rwypop.china.com
發送服務器:rwypop.china.com

雅虎郵箱
接收服務器:pop.mail.yahoo.com
發送服務器:smtp.mail.yahoo.com

Gmail郵箱
接收服務器:pop.gmail.com
發送服務器:smtp.gmail.com

相關推薦:最新的10個thinkphp視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享