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 ...
随机推荐
- IOS开发入门实例
关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术 ...
- 使用本地计划任务定时关闭azure虚拟机
本文包含以下内容 前提条件 如何实现定时关闭虚拟机 前提条件 Controller 机器上必须安装 Azure PowerShell,并且要在 PowerShell 里登录一次 Azure, 请参见: ...
- php配置优化-生产环境应用版
[global] error_log = log/php-fpm.log log_level = warning emergency_restart_threshold = 10 emergency_ ...
- 发送请求获取响应内容(c#)
C#请求url,获取响应的脚本 public string ResultOfApi(string url) { //发送请求 HttpWebRequest request = null; HttpWe ...
- Jmeter入门17 获取时间点前后一定间隔的时间 __timeShift()
接口获取时间点前后一定间隔的时间函数: __timeShift(时间格式, 特定时间点(缺省当前时间),时间间隔,地区格式(默认),变量名( 可不填,填写后其他地方用${变量名}引用 )) 举例: 1 ...
- CodeForces 30C Shooting Gallery 简单dp
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq574857122/article/details/36944227 题目链接:点击打开链接 给定 ...
- javascript运算符——条件、逗号、赋值、()和void运算符 (转载)
原文出自 作者:小火柴的蓝色理想 javascript中运算符总共有46个,除了前面已经介绍过的算术运算符.关系运算符.位运算符.逻辑运算符之外,还有很多运算符.本文将介绍条件运算符.逗号运算符. ...
- Java中获取classpath路径下的资源文件
ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getRes ...
- SSH原理与远程登陆
本文转载自:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 在<计算机系统结构>课程实验中接触到SSH,本文对SS ...
- Android学习笔记_15_网络通信之文件断点下载
一.断点下载原理: 使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,是因为其抢占的服务器资源多.如:假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户,100条线程在 ...