thinkphp phpmailer邮箱验证
thinkphp 关于phpmailer的邮箱验证
一 、
登陆自己的邮箱,例如:qq邮箱。登陆qq邮箱在账户设置中开启smtp服务:

之后回发送一个授权码 , 这个授权码先保存下来,这个授权码在后面会用得到。
二、
使用composer 下载 phpmailer
在cmd中打开你的tp框架路径然后直接 输入 composer require phpmailer/phpmailer
之后你的第三方类库下面会多一个phpmailer文件夹,打开此文件夹;

然后将src的资源复制下来;
在tp框架的extends文件夹下面创建一个phpmailer文件夹;
把刚才复制的资源粘贴在此文件夹下面。

修改三个文件的命名空间: namespace phpmailer.
三、使用phpmailer
在tp框架下面的common.php里面写入:
<?php
function sendMail($mail , $to ,$title , $content)
{
try{
$mail->SMTPDebug = 0; //SMTP调试功能 0=关闭, 1=错误和消息 2=消息
$mail->isSMTP(); 设定使用SMTP服务;
$mail->CharSet = 'utf-8'; //邮件编码;
$mail->Host = 'smtp.qq.com'; //smtp服务器;
$mail->SMTPAuth = true; //启用smtp验证功能;
$mail->Username = '******@qq.com'; //SMTP服务器用户名;
$mail->Password = '**********'; //这个是你开始获取到的授权码;也可以是你的邮箱密码;
$mail->SMTPSecure = 'ssl'; //使用安全协议;
//recipitents //收件人信息设置
$mail->setForm('*******@qq.com' , '为了php'); //第一个参数是收件人邮箱 , 第二个参数是邮件主题;
$mail->addAddress($to); //传入发件人的邮箱地址;
//Content邮件内容
$mail->isHTML(true);
$mail->Subject = $title;
$mail->Body = $content;
return $mail->send()
} catch (Exception $e){
echo 'Message could not sent.Mailer Error:',$email->ErrorInfo;
}
}
在 application conttoller 的index.php文件中 use phpmailer/PHPMaileron
<?php use app\index\controller;
use think\Controller;
use think\View;
use phpmailer\PHPMailer; class Index extends Controller
{
public $view;
public function __construct()
{
$this->view = new View;
}
public function index()
{
$this->view->fetch('index/index');
} public function sendemail()
{
$code = rand(10000 , 99999);
$data = array_values($_POST);
$user = implode('' , $data);
$emailuser = str_replace('' , '.' , $user);
$email = new PHPMailer(true);
$res = sendMail($mail , $emailuser , 'php真好玩' , '您好!感谢您成为[php真好玩成员] , <br />祝您玩的开心 , 玩的愉快!');
if($res){
return json(['status'=>1 , 'msg'=>'邮箱发送成功']);
} else {
return json(['status'=>0 , 'msg'=>'邮箱发送失败']);
}
}
}
controller 的view 文件下创建index文件夹 , 在index文件下写一个index.html文件;
<html>
<head>
<meta charset="utf-8" />
<title>index</title> </head>
<body>
<input type="text" placeholder="请输入邮箱" id="email">
<input type="button" id="btn" value="邮箱验证">
</body>
<script src="[这里引用你的jquery路径]"></script>
<script type="text/javascript">
$(function(){ $("#btn").click(function{ $.post(":url('index/index/sendemail')",
{"email":$("#email").val()},
function(data){
if(data.status){
alert(data.msg);
} else {
alert(data.msg);
}
})
}); }) </script>
</html>
thinkphp phpmailer邮箱验证的更多相关文章
- ThinkPHP 3.2 用户注册邮箱验证帐号找回密码
一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...
- (进阶篇)PHP实现用户注册后邮箱验证,激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...
- PHP用户注册邮箱验证激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...
- thinkphp表单验证
之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...
- Thinkphp+AJAX动态验证用户输入是否合法
遇到用户注冊等情况时.假设等用户输入全部信息,点击注冊button提交后.再验证输入是否正确,体验非常不好,并且非常浪费用户的时间,添加注冊成本,这里提供一个样例,演示了怎么使用ajax进行单步验证, ...
- ThinkPHP的自动验证常用的正则
ThinkPHP的自动验证常用的正则 ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function. callback.confirm.equal.unique和regex, ...
- TP框架---thinkphp表单验证
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面 ...
- android 自定义view -- 实现自定义 邮箱验证的Edittext
//onFinishInflate 当View中所有的子控件均被映射成xml后触发 /** * 实现自定义 实现邮箱验证的EidtText */public class CustomEditText ...
- [麦先生]在Laravel框架里实现邮箱验证---发送邮件
在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证..... 在.env ...
随机推荐
- ubuntu下go开发环境
https://qiita.com/necomeshi/items/676ccb669d6e6102117b 安装 https://golang.org/dl/ # 下载&解压 axel -n ...
- Flask环境github及项目部署(十三)
(1) github项目搭建 1 连接GitHub hostnamectl set-hostname flask-dev # 设置 hostname,一般是主机名可以不更改 ssh-keygen # ...
- 7.Zabbix 3.0 web监控
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=5f6b67f98a802fb831a83d810969c583&sub=B8D5267BDD5 ...
- ZT onActivityResult在android中的用法
onActivityResult在android中的用法 举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就 ...
- 关于《Selenium 2自动化测试实战 基于Python语言》学习过程中键盘的常用操作
下边是自己在学习过程中总结的一些常用键盘的操作
- python入门6 字符串拼接、格式化输出
字符串拼接方式 1 使用 + 拼接字符串 2 格式化输出:%s字符串 %d整数 %f浮点数 %%输出% %X-16进制 %r-原始字符串 3 str.format() 代码如下: #codin ...
- Android(java)学习笔记44:Map集合的遍历之键值对对象找键和值
1. Map集合的遍历之 键值对对象找 键和值: package cn.itcast_01; import java.util.HashMap; import java.util.Map; impor ...
- pthread的各种同步机制
https://casatwy.com/pthreadde-ge-chong-tong-bu-ji-zhi.html pthread是POSIX标准的多线程库,UNIX.Linux上广泛使用,wind ...
- 初识prufer序列
前言 \(prufer\)序列应该是一个比较实用的东西. 据\(hl666\)大佬说,一切与度数有关的树上计数问题,都可以用它以及它的性质来解决. 而听说\(ZJOI\)最近特别喜欢出计数题,所以有必 ...
- 多目标规划——fgoalattain
多目标规划 多个目标函数,之间可以用他们的重要程度分析,来一次进行这个序贯算法,当然也可以无限逼近的方案—— clc,clear; % 约束 a = [- - - - ]; b = [- - ]; ...