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邮箱验证的更多相关文章

  1. ThinkPHP 3.2 用户注册邮箱验证帐号找回密码

    一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...

  2. (进阶篇)PHP实现用户注册后邮箱验证,激活帐号

    我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...

  3. PHP用户注册邮箱验证激活帐号

    我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...

  4. thinkphp表单验证

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...

  5. Thinkphp+AJAX动态验证用户输入是否合法

    遇到用户注冊等情况时.假设等用户输入全部信息,点击注冊button提交后.再验证输入是否正确,体验非常不好,并且非常浪费用户的时间,添加注冊成本,这里提供一个样例,演示了怎么使用ajax进行单步验证, ...

  6. ThinkPHP的自动验证常用的正则

    ThinkPHP的自动验证常用的正则   ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function. callback.confirm.equal.unique和regex, ...

  7. TP框架---thinkphp表单验证

    自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面 ...

  8. android 自定义view -- 实现自定义 邮箱验证的Edittext

    //onFinishInflate 当View中所有的子控件均被映射成xml后触发 /** * 实现自定义 实现邮箱验证的EidtText */public class CustomEditText ...

  9. [麦先生]在Laravel框架里实现邮箱验证---发送邮件

    在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证..... 在.env ...

随机推荐

  1. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 1、安装前准备

    安装前准备 上传文件到服务器,x-ftp   xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local   方法一:零时设置,重启后失效,该方法不可取     方法 ...

  2. Ruby在Windows上安装

    Ruby在Windows下安装windows下的rails2.02环境搭建 ROR本地安装的技术含量比较高的 一.安装Ruby1.下载Ruby()安装包双击安装,安装过程中注意选中"Enab ...

  3. WCF 的优势和特点

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一.理解面向服务(Service-Oriented-Architecture)    是指为了解决在Internet环境下业务集成的需要,通过连接 ...

  4. github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法

    对于机器学习有兴趣,不少人应该会先从 Andrew Ng ( 吴恩达 ) 的机器学习课程开始,但是吴恩达的课程是使用 octave 这个工具当作练习.这个 github 项目包含使用 Python 实 ...

  5. oracle 12c使用dblink克隆pdb

    Multitenant : Hot Clone a Remote PDB or Non-CDB in Oracle Database 12c Release 2 (12.2)https://oracl ...

  6. Orchard Core 文档翻译 (五)自动路由 Autoroute (OrchardCore.Autoroute)

    Autoroute (OrchardCore.Autoroute) 此模块允许您为内容项指定自定义URL(永久链接 permalink). Autoroute Part 将此部分附加到内容类型以指定内 ...

  7. 第二次作业(Git and Github)

       第二次作业(Git and Github) 1.Github项目地址: https://github.com/YanSiJu/JavaWebProject.git 具体介绍详见READ.md 2 ...

  8. WP模拟器修改语言为中文方法

    对于WP7模拟器来说默认启动时显示的语言为英文,除了操作界面外,如果你的应用支持多国语言必须修改为中文才能显示正确的界面.下面Zune123将WP7 Emulator修改语言为中文的方法写个简单的教程 ...

  9. POJ-3104 Drying---二分答案判断是否可行

    题目链接: https://cn.vjudge.net/problem/POJ-3104 题目大意: 有一些衣服,每件衣服有一定水量,有一个烘干机,每次可以烘一件衣服,每分钟可以烘掉k滴水.每件衣服每 ...

  10. BZOJ1820:[JSOI2010]Express Service 快递服务(DP)

    Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...