佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ThinkPHP框架實現的郵箱激活功能示例

ThinkPHP框架實現的郵箱激活功能示例

熱門標簽:Linux服務器 銀行業(yè)務 Mysql連接數設置 科大訊飛語音識別系統(tǒng) 團購網站 阿里云 服務器配置 電子圍欄

本文實例講述了ThinkPHP框架實現的郵箱激活功能。分享給大家供大家參考,具體如下:

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

配置過程圖:

1.修改配置如下:

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

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

?php
class EmailAction extends Action{
  /*
  * microtime() 函數返回當前 Unix 時間戳和微秒數。
  * mt_srand() 播種 Mersenne Twister 隨機數生成器。從 PHP 4.2.0 版開始,seed 參數變?yōu)榭蛇x項,當該項為空時,會被設為隨時數。
  * 注釋:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函數給隨機數發(fā)生器播種,現已自動完成。
  * pow — 指數表達式
  */
  //random()這個函數是我用來生成一個隨機數的,$numeric = 0生成一個6位的大小寫字母與數字混合的字符串。$numeric = 1生成一個6位數字的字符串
  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);
    //獲取本網站的域名,域名在config里面配置下.
    //例如'domain' => 'http://write.blog.csdn.net',
    $domain = C('domain');
    //生成激活碼模塊地址
    $url = $domain.U("Home/Email/activate")."/?yam=$random";
    //將郵件地址和隨機數放入session
    session("shcg666@sohu.com","$random");
    //發(fā)送郵件
    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服務器發(fā)送Email
  $mail->IsSMTP();
  // 設置郵件的字符編碼,若不指定,則為'UTF-8'
  $mail->CharSet='UTF-8';
  // 添加收件人地址,可以多次使用來添加多個收件人
  $mail->AddAddress($address);
  // 設置郵件正文
  $mail->Body=$message;
  // 設置郵件頭的From字段。//發(fā)件人
  $mail->From=C('MAIL_ADDRESS');
  // 設置發(fā)件人名字
  $mail->FromName='LilyRecruit';
  // 設置郵件標題
  $mail->Subject=$title;
  // 設置SMTP服務器。
  $mail->Host=C('MAIL_SMTP');
  // 設置為"需要驗證"
  $mail->SMTPAuth=true;
  // 設置用戶名和密碼。
  $mail->Username=C('MAIL_LOGINNAME');
  $mail->Password=C('MAIL_PASSWORD');
  // 發(fā)送郵件。
  return($mail->Send());
}

3.導入的文件

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

class.smtp.php文件點擊此處本站下載

class.phpmailer.php文件完整實例代碼點擊此處本站下載。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tom郵箱
接收服務器:pop.tom.com
發(fā)送服務器:smtp.tom.com

263郵箱
接收服務器:263.net
發(fā)送服務器:smtp.263.net

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

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

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

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • thinkphp實現163、QQ郵箱收發(fā)郵件的方法
  • ThinkPHP3.2利用QQ郵箱/163郵箱通過PHPMailer發(fā)送郵件的方法
  • thinkphp5使用bootstrapvalidator進行異步驗證郵箱的示例
  • thinkphp實現發(fā)送郵件密碼找回功能實例
  • ThinkPHP利用PHPMailer實現郵件發(fā)送實現代碼
  • thinkphp使用phpmailer發(fā)送郵件的方法
  • 詳解thinkphp5+swoole實現異步郵件群發(fā)(SMTP方式)
  • ThinkPHP發(fā)送郵件示例代碼
  • ThinkPHP5郵件發(fā)送服務封裝(可發(fā)附件)
  • PHPMailer ThinkPHP實現自動發(fā)送郵件功能

標簽:衢州 江蘇 蚌埠 棗莊 廣元 萍鄉(xiāng) 衡水 大理

巨人網絡通訊聲明:本文標題《ThinkPHP框架實現的郵箱激活功能示例》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    瓮安县| 乌鲁木齐县| 台州市| 京山县| 石台县| 秀山| 宁陕县| 商水县| 邹城市| 政和县| 康定县| 福建省| 中卫市| 灌云县| 舒城县| 华坪县| 福海县| 翁牛特旗| 都昌县| 思南县| 格尔木市| 盱眙县| 开化县| 桓台县| 浙江省| 乌鲁木齐市| 丹凤县| 盐边县| 怀化市| 阜城县| 两当县| 陆河县| 丰镇市| 怀集县| 台中县| 吉林市| 麻栗坡县| 句容市| 富锦市| 栾川县| 鹤壁市|