<?php

 namespace App\Modules\Liveapi\Http\Controllers\Personnel;

 use App\Modules\Liveapi\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use Mail; class UserinfoController extends Controller
{ public function verify(Request $request)
{
$email = $request->input("email");
if (!$email) {
return $this->result([], "邮箱不正确", 401);
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return $this->result([], "非法邮箱格式", 401);
}
$model = ShimmerLiveshopSmslog::where('mobile',$email)->orderBy('created_at','desc')->limit(1)->first();
$code = json_decode($model->data);
$code_end = $code->code;
$codetime = floor((time() - strtotime($model->created_at))/60);
$time = 5;
if($codetime > $time){
$code = rand(100000, 999999); $content = '验证码为:'.$code; Mail::raw($content, function ($message)use ($email) {
$message ->to($email)->subject('注册验证码');
}); $uid = 0;
$data = array('uniacid' => Request()->route('uniacid'), 'uid' => $uid, 'type' => 1, 'data' => json_encode(array('code' => $code)), 'mobile' => $email, 'log' => 1); $res = (new ShimmerLiveshopSmslog())->fill($data)->save(); return $this->result(['res'=>$res]);
}else{
return $this->result([], "发送过于频繁,请" . $time . "分钟后再试", 401);
}
} } ?>

需要注意以下三点:

  1、邮箱配置

  (1)、修改 .env 文件中的邮箱配置为对应的信息,MAIL_HOST根据自己对应的邮箱地址进行修改;MAIL_USERNAME 是你的邮箱账号;注意 MAIL_PASSWORD 不是邮箱的登录密码,是授权码

  

  (2)、修改config/mail.php 文件

  

  2、use Mail;

  3、在 Mail::raw 发送邮件时,收件人的邮箱一定要用 use ($email) 传递,不然会报一个收件人邮箱为空的错误

注:1、修改完 .env 文件 一定要使用 php artisan config:cache 清除缓存,不然有可能配置文件不会生效;如果项目已经在服务器上,修改了 .env 文件清除缓存后依然不好用,可以直接在mail.php 中进行配置修改。

  2、发送邮件成功后如果邮箱中没有新邮件提醒,一定要去垃圾邮件中确认一下,有可能会把验证码邮件归类为垃圾邮件。

Laravel 5.4 使用 Mail 发送邮件获取验证码功能(使用的配置邮箱为126邮箱)的更多相关文章

  1. Laravel5的验证码功能

    第三方扩展包 mews/captcha 作为基础来实现 Laravel 中的验证码功能 安装 注册 配置验证码文件 前端引用 后端验证 安装前准备(我这边没执行这个,安装成功,但是搜到的文件有写,不清 ...

  2. Spring技术_邮箱注册_激活_获取验证码

    项目结构 项目中用到的sql: create database hrSystem; use hrSystem; CREATE TABLE `emailverificationcode` ( `id` ...

  3. qq获取验证码接口

    测试 获取验证码 import smtplib from email.mime.text import MIMEText from email.utils import formataddr #定义参 ...

  4. Centos7下使用mail发送邮件配置

    参考文档:https://blog.csdn.net/lyf844692713/article/details/81479066 安装环境查看 查看服务是否安装 rpm -qa|grep mail 如 ...

  5. 获取验证码效果和后台代码(js+html+cs)

    客户端js+html代码 <script type="text/javascript"> var tcode = 0;//定时器返回代码 //获得验证码 functio ...

  6. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  7. SpringBoot整合Mail发送邮件&发送模板邮件

    整合mail发送邮件,其实就是通过代码来操作发送邮件的步骤,编辑收件人.邮件内容.邮件附件等等.通过邮件可以拓展出短信验证码.消息通知等业务. 一.pom文件引入依赖 <dependency&g ...

  8. 使用Javax.mail 发送邮件

    使用Javax.mail 发送邮件 详细说明都在代码中: 引入依赖  <!--sun定义的一套接收.发送电子邮件的API-->    <dependency>      < ...

  9. day80:luffy:短信sdk接入&点击获取验证码&注册功能的实现&Celery实现短信发送功能

    目录 1.短信sdk接入 2.前端点击获取验证码效果 3.注册后端接口实现 4.注册-前端 5.Celery 6.Celery完成短信发送功能 1.短信sdk接入 1.准备工作 1.下载云通讯相关的文 ...

随机推荐

  1. Java架构师如何学习?

    引言 古人云:"活到老,学到老."互联网算是最辛苦的行业之一,"加班"对工程师来说已是"家常便饭",同时互联网技术又日新月异,很多工程师都疲 ...

  2. C#实现模拟鼠标点击事件(点击桌面的其他程序 )

    注释感觉已经很清楚了,有不懂的欢迎评论 1 using System; using System.Collections.Generic; using System.ComponentModel; u ...

  3. skywalking的核心概念

    在 SkyWalking 中,TraceSegment 是一个介于 Trace 与 Span 之间的概念,它是一条 Trace 的一段,可以包含多个 Span.在微服务架构中,一个请求基本都会涉及跨进 ...

  4. BigDecimal类型比较数字大小

    BigDecimal类型比较数字大小1.转成intBigDecimal b1 = new BigDecimal("-121454125453.145");if(b1.intValu ...

  5. asp.net 修饰符介绍(关于public、private、protected、internal)

    1.private修饰符 private修饰符用于设置类或类成员的访问权限仅为所属类的内部,private也被称为私有修饰符.某些时候需要访问私有类成员时,可通过get和set访问器读取或修改. 2. ...

  6. Zookeeper 序列化

    读完这篇文章你将会收获到 在 Zookeeper 源码项目中新建模块,使用 Jute 进行序列化和反序列化 修改 Jute 中的 buffer size 来序列化/反序列化大对象 序言 从 前面的文章 ...

  7. Nginx 从入门到放弃(四)

    前面我们学习了nginx的基本操作和日志管理,今天我们学习一下生产环境经常会用到的路由定位location设置,在工作中,经常可能会出现怎么设置的路由访问不到网页呀?总是出现404错误啊,这些都很有可 ...

  8. idea 启动官网spring boot demo 报错

    *************************** APPLICATION FAILED TO START *************************** Description: Fai ...

  9. Nuxt使用axios跨域问题解决方法

    Nuxt 是 Vue 项目服务器端渲染(SSR)解决方案.而在使用时,就会遇到前后端分离情况下的域名或端口不一致导致的跨域问题.本文将介绍如何通过设置代理解决 Nuxt 与 axios 集成的跨域问题 ...

  10. 附007.Docker全系列大总结

    Docker全系列总结如下,后期不定期更新. 欢迎基于学习.交流目的的转载和分享,禁止任何商业盗用,同时希望能带上原文出处,尊重ITer的成果,也是尊重知识. 若发现任何错误或纰漏,留言反馈或右侧添加 ...