博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp邮箱验证码前后台
阅读量:7292 次
发布时间:2019-06-30

本文共 2617 字,大约阅读时间需要 8 分钟。

思路:

前台用jquery.validate验证,验证邮箱是否存在等等,交互用ajax来做。后端用邮箱类库直接上代码吧

准备:

1.下载PHPMailer类库,放到Application/Thinkphp/Library/Vendor/中,在网上搜搜,搜不到可以联系我

2.开启SMTP,举个网易邮箱的例子

clipboard.png

config.php里填写:

// 配置邮件发送服务器'MAIL_HOST' =>'smtp.163.com',//smtp服务器的名称'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证'MAIL_USERNAME' =>'lishine0216@163.com',//你的邮箱名'MAIL_FROM' =>'lishine0216@163.com',//发件人地址'MAIL_FROMNAME'=>'南京商丘商会',//发件人姓名'MAIL_PASSWORD' =>'a3392894',//邮箱密码'MAIL_CHARSET' =>'utf-8',//设置邮件编码'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件

function.php填写

IsSMTP(); // 启用SMTP $mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例) $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证 $mail->Username = C('MAIL_USERNAME'); //你的邮箱名 $mail->Password = C('MAIL_PASSWORD') ; //邮箱密码 $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址) $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名 $mail->AddAddress($to,"尊敬的客户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件 $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 //return($mail->Send()); if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } }

后端:

public function createSMSCode($length = 6){    $min = pow(10 , ($length - 1));    $max = pow(10, $length) - 1;    return rand($min, $max);}//ajax发送邮件public function e_mail_send(){    $e_mail=I("post.e_mail");    $result=M("user")->where(array("e_mail"=>$e_mail))->find();    if($result){        $code=$this->createSMSCode();        //存储验证码,相当于全局变量,因为再次调用createSMSCode时,代码会变        session("code",$code);        session("e_mail",$e_mail);        SendMail($e_mail,"南京商丘商会验证码","您的验证码是".$code.",请正确填写");        $data="yes";    }else{        $data="no";    }    $this->ajaxReturn($data);}

前端:

密码找回!
请填入您的邮箱进行密码找回
发送后请注意查收邮箱信息填入验证码中

发送

ajax部分:

展示:

clipboard.png

欢迎交流 QQ:755092893

转载地址:http://nzwnm.baihongyu.com/

你可能感兴趣的文章
MySQL点滴
查看>>
Servlet学习笔记03——什么是DAO?
查看>>
AOJ673 聪明的输入法(字典树)
查看>>
Github常见错误
查看>>
板子集合
查看>>
第四十一课、编辑交互功能的实现------------------狄泰软件学院
查看>>
cocos2d-x之监听手机的物理按键
查看>>
python数据处理excel和pdf,并打包成exe
查看>>
基于 HTML5 WebGL 的低碳工业园区监控系统
查看>>
如何使绝对定位内部元素不继承父级宽度,而是靠内容自动撑开宽度(转载)
查看>>
《程序猿的生命周期》阅读有感
查看>>
重温排序算法
查看>>
Instrumentation 功能介绍(javaagent)
查看>>
Core J2EE Patterns - Data Access Object
查看>>
SpringCloud学习成长之路 六 cloud配置中心
查看>>
MyEclipse定位class文件
查看>>
STM32(HY-SRF05)超声波测距项目
查看>>
《practical Java》读书笔记
查看>>
数据库字段顺序的【坑】
查看>>
spring5新响应式框架-webflux实战
查看>>