我们使用 phpmailer  插件 完成

1 引入 文件到 thinkphp 下的  vendor

2 在 配置参数 中配置 imap

 1 function sendMail($reciver, $recivername, $subject = "", $body="", $sender="751971678@qq.com", $sendername="刘涛")
 2 {
 3     vendor('PHPMailer.PHPMailerAutoload');
 4
 5     $phpMailer = new \PHPMailer();
 6
 7     //发送邮件服务器配置
 8     $phpMailer->isSMTP();                                    // Set mailer to use SMTP
 9     $phpMailer->Host = C('MAIL_CONFIG.SMTP_HOST');  // Specify main and backup SMTP servers
10     $phpMailer->SMTPAuth = true;                               // Enable SMTP authentication
11     $phpMailer->Username = C('MAIL_CONFIG.USER_NAME');                 // SMTP username
12     $phpMailer->Password = C('MAIL_CONFIG.PASSWORD');                           // SMTP password
13     $phpMailer->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
14     $phpMailer->Port = C('MAIL_CONFIG.PORTS');                                    // TCP port to connect to
15
16     //发送邮件用户配置
17     $phpMailer->setFrom($sender, $sendername);
18     $phpMailer->addAddress($reciver, $recivername);     // Add a recipient
19
20     $phpMailer->isHTML(true);                                  // Set email format to HTML
21
22     //邮件内容及主题
23     $phpMailer->Subject = $subject;
24     $phpMailer->Body    = $body;
25
26     if(!$phpMailer->send()) {
27         throw new \Think\Exception($phpMailer->ErrorInfo, 0);
28     } else {
29         return true;
30     }
31 }

2 php 的 调用

 1 public function  addUser(){
 2         //验证码正确性验证
 3             $code = I('post.captcha');
 4             if (empty($code)) {
 5                 $this->error('请输入验证码');
 6             }
 7             //实例化verify()
 8             $verifyObj = new Verify();
 9             if (!$verifyObj->check($code)) {
10                 $this->error('验证码错误');
11             }
12             //>>1 实例化用户数据模型
13             $userModel = D('User');
14         //获得邮件信息
15         $activeToken = md5(String::randString(32)).md5(String::randString(32)); //生成邮箱激活码
16         $email = I('post.email');
17
18         $_POST['active_token'] = $activeToken;
19
20             //>>3 调用模型的create()来接收数据
21         if ($userModel->create() === false) {
22             $this->error('数据有误:'.dealError($userModel));
23             return;
24         }
25         $activeUrl = "http://".$_SERVER['HTTP_HOST'].U('activeUser', array('email'=> base64_encode($email), 'activetoken'=>base64_encode($activeToken)));
26
27         $emailBody = '<h2><strong>新用户激活:</strong></h2>欢迎注册XXXX网站,请在2小时内点击下边的链接进行激活。如果不是你本人操作请忽略本邮件。<p><a href="'.$activeUrl.'">点击激活</a></p>';
28
29         //成功将数据加入数据库
30         try{
31             $userModel->addUser();
32             $this->success("注册成功,欢迎来到德莱联盟",U('Index/index'));
33 //            执行发送邮件信息
34             sendMail($email, '新用户', '账号激活', $emailBody);//用户激活操作
35         }catch (Exception $e){
36             $this->error('抱歉注册失败'.$e->getMessage());
37         }
38     }

转载于:https://www.cnblogs.com/lt-com/p/6402466.html

使用 邮箱配置 激活码 用于 用户注册激活相关推荐

  1. 怎么免费获取帆软9.0激活码,帆软8.0激活码,如何激活

    FineReport作为领先的企业级Web报表一直致力于解决中国式报表应用难题,它有两个版本:个人免费版,企业收费版.帆软公司对免费版用户非常友好,下面就来介绍一下怎么免费获取帆软9.0激活码,帆软8 ...

  2. Vegas2020最新激活码序列号使用激活

    序列号:MP18-999-2E97-5339-4629 VEGAS Movie Studio 17提供了更加人性化的方法来创建精美的视频.使用交互式情节提要板可以快速工作.自动保存使您放心工作.借助G ...

  3. Pycharm激活码别再用盗版的啦,2021年有正规的免费申请方法!

    一.前言 不要在网上到处搜索使用盗版pycharm激活码啦!!! 一是网上那些盗版激活码即使成功激活了pycharm,用一小段时间之后也还是会过期. 二是不安全,那些盗版的pycharm激活码很有可能 ...

  4. 游戏礼包激活码案例分析

    前言 最近我们游戏有一个通过激活码领取礼包的需求,需求大概是这样: 服务器收到邀请码后,能判断激活码是否过期 同一个激活码只能激活一次 一个玩家只能对一个礼包的激活码进行激活         其中,负 ...

  5. IObit Malware Fighter 7 PRO 正版激活码

    凭借世界领先的Bitdefender防病毒引擎,IObit Malware Fighter 7 PRO可实时全面,自动地防御最新的恶意软件.勒索软件和病毒.同时,IObit Malware Fight ...

  6. 自己平时收集的一些软件的激活码

    原文链接:http://b.zlweb.cc/some-software-Activation-Code.html 这些都是自己平时要用的,找也挺麻烦的,现在贴在这里,一是备忘,二是好东西,要大家享嘛 ...

  7. IDEA 2019-1 激活码

    这几天重新装电脑的系统,又把ieda 重新安装了一下,发现ided 的之前的acticeCode都不能用了 ,又在网上重新找了一个激活码 重新的激活方法 1.在电脑的host文件下配置 0.0.0.0 ...

  8. pyCharm最新2018激活码

    本教程对jetbrains全系列可用例:IDEA.WebStorm.phpstorm.clion等 因公司的需求,需要做一个爬取最近上映的电影.列车号.航班号.机场.车站等信息,所以需要我做一个爬虫项 ...

  9. IntelliJ IDEA 2018 激活码

    IntelliJ IDEA 2016.2激活码: 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1 ...

最新文章

  1. UC伯克利新机器人成果:灵活自由地使用工具
  2. 获取注解中的属性信息
  3. 安装、登录centos7
  4. Spring @EventListener 异步中使用condition的问题
  5. 在WinForm中通过HTTP协议向服务器端上传文件(转)
  6. SAP ERP项目各模块设计重点
  7. (转)配置Spring管理的bean的作用域
  8. PHPCMS V9.6.0 SQL注入漏洞EXP
  9. 静态Web开发 JavaScript
  10. 简单java程序_简单的Java程序
  11. IBM公布未来5年将改变人类生活的五大科技
  12. Euraka和ZOOkeeper比较
  13. ESP8266-WIFI模块配置
  14. fiddler界面详解(转自:子信风蓝蓝)
  15. 苹果旧版app_苹果手机教你安装旧版app
  16. 未来的计算机将是半导体,硅的未来岌岌可危?未来计算机或迎来钻石芯
  17. java实现来电弹屏_客服系统如何实现1秒来电弹屏?
  18. TOP100summit分享实录 | 网易卡爷:实战解读增长黑客在 B 端业务中的应用
  19. 一位营销总监的辞职信(非常经典)
  20. 手机写python脚本_用Python写王者荣耀刷金币脚本

热门文章

  1. mysql必知必会看完看什么_《MySQL必知必会》读书笔记
  2. php 7.0 编译安装mysql_源码编译安装php7.0.5
  3. 完美设置“Word表格中文字上下居中”
  4. 半导体基础知识(2):PN结二极管和二极管特性
  5. Cordic算法——圆周系统之向量模式
  6. 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)
  7. 《压缩感知回顾与展望》读书笔记
  8. PicoBlaze 设计实例
  9. .NET Core微服务之基于Consul实现服务治理
  10. 安卓 onTouch OnTouchEvent onChick 顺序