基于ThinkPHP3.2的邮箱激活
2016-01-14 19:55
661 查看
第一步:下载PHPMailer安装包 解压后把PHPMailer文件夹在ThinkPHP\Library\Vendor下
第二步: APP\Common\Common 下建一个function.php公共函数库
function.php代码如下:
本来想把对应的参数写在配置文件中,但是tp3.2是先加载公共函数库然后在加载配置文件的额。
三、如果是注册 在RegisterController.class.php
第四步 验证激活,此时邮箱已经收到验证码 只需直接访问就行了 InfoController控制器下
第五步 进行登录
第二步: APP\Common\Common 下建一个function.php公共函数库
function.php代码如下:
<?php //定义一个mail发送函数 function sendMail($address,$title,$message){ //导入mail类文件 vendor('PHPMailer.class#phpmailer'); //Thinkphp的导入方式,放在/ThinkPHP/Extend/Vendor/ //创建mail对象 $mail = new PHPMailer(); $mail->IsSMTP(); //设置使用SMTP服务器发送 $mail->Host = "smtp.163.com"; //设置163邮箱服务 $mail->SMTPAuth = true; // 设置需要验证 $mail->Username = "wp6418@163.com"; // 发件人使用邮箱 $mail->Password = "****"; // 设置发件人密码 $mail->From = "wp6418@163.com";// 发件人邮箱 $mail->FromName = "王盼"; //发送者名称 $mail->AddAddress($address); // 添加发送地址 $mail->IsHTML(true); //指定支持html格式 $mail->CharSet="UTF-8"; $mail->Subject = $title; $mail->Body = $message; if($mail->Send()){ return true; }else{ return false; } }
本来想把对应的参数写在配置文件中,但是tp3.2是先加载公共函数库然后在加载配置文件的额。
三、如果是注册 在RegisterController.class.php
public function register(){ $m = M("Users"); $email = $_POST["email"]; $userpass = md5($_POST['userpass']); $_POST["password"] = $userpass; $addtime = time(); $_POST["addtime"] = time(); $_POST["status"] = 0; $_POST["info"] = md5(time()).time(); //随意定义一个激活账号使用码。 $info = md5(time()).time(); if(!$m->create()){ $this->error($m->getError()); } if($m->add()){ $message=<<<str 你好!{$email} <h2>欢迎注册本网站</h2> 激活账号请点击如下地址:<br/><br/> <a href="http://localhost/PHPMail/index.php/Home/Info/check/mail/{$email}/info/{$info}"> http://localhost/PHPMail/index.php/Home/Info/check/mail/{$email}/info/{$info}</a> <br/><br/> www.***.com str; sendMail("{$email}","激活账号",$message); $this->success("注册成功!",U('Info/index')); }else{ $this->error("注册失败!原因:".$m->getError()); } }
第四步 验证激活,此时邮箱已经收到验证码 只需直接访问就行了 InfoController控制器下
public function check(){ $email = $_GET["mail"]; $m = M("Users"); $data["status"]=1; $d = $m->where("email='{$email}'")->save($data); if($d){ $this->display("info"); //显示激活信息 } }
第五步 进行登录
public function login(){ $m = M("Users"); $email = $_POST['email']; $userpass = $_POST['userpass']; $user = $m->where("email='{$email}'")->select(); //判断账号是否存在 if($user){ //判断密码是否正确 if($user[0]['password']==md5($userpass)){ //是否已被激活 if($user[0]['status']==1){ //echo "登陆成功!"; $_SESSION["email"]=$user[0]['email']; //将账号信息放入session中 $this->success("登录成功!",U("Index/index")); }else{ $this->error("登录失败!"); } } } }
相关文章推荐
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- 邮箱网站不能用mail.xxx.com:8888的方式访问原因
- hotmail,MSN 邮箱无法登陆的解决方法 秘密通道
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP采用<volist>实现三级循环代码实例
- Thinkphp模板标签if和eq的区别和比较实例分析
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- ThinkPHP控制器详解
- jQuery实现Email邮箱地址自动补全功能代码
- jquery实现邮箱自动填充提示功能
- jquery验证邮箱格式是否正确实例讲解
- jquery验证邮箱格式并显示提交按钮
- ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
- jQuery 实现自动填充邮箱功能(带下拉提示)
- 解析thinkphp中的M()与D()方法的区别
- ThinkPHP采用模块和操作分析
- Thinkphp模板中使用自定义函数的方法