溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ThinkPHP框架怎么實(shí)現(xiàn)郵箱激活功能

發(fā)布時(shí)間:2021-06-11 13:41:02 來(lái)源:億速云 閱讀:98 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)ThinkPHP框架怎么實(shí)現(xiàn)郵箱激活功能,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

配置框架采用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ù)是我用來(lái)生成一個(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';
  // 添加收件人地址,可以多次使用來(lái)添加多個(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無(wú)需任何改動(dòng),直接復(fù)制進(jìn)來(lái)即可。

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

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

配置完成,具體的處理方式需要進(jìn)一步改動(dòng)。

4.常見(jiàn)郵件服務(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框架怎么實(shí)現(xiàn)郵箱激活功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI