热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编程语言关于thinkphp邮箱验证码前后台

编程语言关于thinkphp邮箱验证码前后台下面由thinkphp教程栏目给大家介绍关于thinkphp邮箱验证码前后台,希望对需要的朋友有所帮助!t
编程语言关于thinkphp邮箱验证码前后台

下面由thinkphp教程栏目给大家介绍关于thinkphp邮箱验证码前后台,希望对需要的朋友有所帮助!

thinkphp邮箱验证码前后台

思路:

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

准备:

1.下载PHPMailer类库,放到Application/Thinkphp/Library/Vendor/中,在网上搜搜,搜不到可以联系我
2.开启SMTP,举个网易邮箱的例子


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填写

/*** 邮件发送函数*/function sendMail($to, $title, $content) {Vendor('PHPMailer.PHPMailerAutoload'); $mail = new PHPMailer(); //实例化$mail->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部分:


展示:

以上就是关于thinkphp邮箱验证码前后台的详细内容,更多请关注php中文网其它相关文章!

文章来源:https://www.php.cn/phpkj/thinkphp/475518.html


www.ijzcn.cn

www.awaedu.com

www.sobd.cc

推荐阅读
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
  • 本文介绍了使用FormData对象上传文件同时附带其他参数的方法。通过创建一个表单,将文件和参数添加到FormData对象中,然后使用ajax发送POST请求进行文件上传。在发送请求时,需要设置processData为false,告诉jquery不要处理发送的数据;同时设置contentType为false,告诉jquery不要设置content-Type请求头。 ... [详细]
author-avatar
backup哗哗-1996
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有