• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ThinkPHP框架实现的邮箱激活功能示例

    本文实例讲述了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 参数变为可选项,当该项为空时,会被设为随时数。
      * 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已自动完成。
      * 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;
      }
      //发送邮件的方法
      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");
        //发送邮件
        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->IsSMTP();
      // 设置邮件的字符编码,若不指定,则为'UTF-8'
      $mail->CharSet='UTF-8';
      // 添加收件人地址,可以多次使用来添加多个收件人
      $mail->AddAddress($address);
      // 设置邮件正文
      $mail->Body=$message;
      // 设置邮件头的From字段。//发件人
      $mail->From=C('MAIL_ADDRESS');
      // 设置发件人名字
      $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');
      // 发送邮件。
      return($mail->Send());
    }
    
    

    3.导入的文件

    在网上下载PHPMailer包将class.smtp.php和class.phpmailer.php无需任何改动,直接复制进来即可。

    class.smtp.php文件点击此处本站下载

    class.phpmailer.php文件完整实例代码点击此处本站下载

    配置完成,具体的处理方式需要进一步改动。

    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

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • thinkphp实现163、QQ邮箱收发邮件的方法
    • ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法
    • thinkphp5使用bootstrapvalidator进行异步验证邮箱的示例
    • thinkphp实现发送邮件密码找回功能实例
    • ThinkPHP利用PHPMailer实现邮件发送实现代码
    • thinkphp使用phpmailer发送邮件的方法
    • 详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
    • ThinkPHP发送邮件示例代码
    • ThinkPHP5邮件发送服务封装(可发附件)
    • PHPMailer ThinkPHP实现自动发送邮件功能
    上一篇:PHP实现数组转JSon和JSon转数组的方法示例
    下一篇:在Laravel5.6中使用Swoole的协程数据库查询
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ThinkPHP框架实现的邮箱激活功能示例 ThinkPHP,框架,实现,的,邮箱,