<?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、发送邮件成功后如果邮箱中没有新邮件提醒,一定要去垃圾邮件中确认一下,有可能会把验证码邮件归类为垃圾邮件。

最新文章

  1. 最后一周psp
  2. 不得不玩玩NHibernate
  3. 【noiOJ】p8211 (PS:二分浮点数的精度问题)
  4. C#连接数据库的四种方法
  5. Linq 分页不可缺少的两个方法
  6. thinkphp 模板调用数据
  7. mysql 数据库自增id 的总结
  8. c,c++,java格式总结
  9. java反射机制入门01
  10. C#中实现WebBrowser控件的HTML源代码读写
  11. DCOS实践分享(1):基于图形化模型设计的应用容器化实践
  12. docker~在centos容器中安装新程序
  13. BluePrism初尝
  14. json 异常
  15. kubernetes国内镜像拉取
  16. 【shell】创建长目录,目录存在则忽略,缺失则创建
  17. 【OOP】C++ const成员函数
  18. unhandledException详细介绍
  19. Postman使用手册2——管理收藏
  20. 【Supervised Learning】 集成学习Ensemble Learning &amp; Boosting 算法(python实现)

热门文章

  1. android屏幕适配的全攻略--支持不同的屏幕尺寸适配平板和手机
  2. 基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布
  3. Python3-socket模块-低级网络接口
  4. apache frpClien操作报错解决
  5. python之re模块(正则表达式)
  6. 分享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo+SkyWalking的微服务开发框架
  7. Docker镜像-拉取并且运行
  8. 树的子结构(剑指offer-17)
  9. AbstractQueuedSynchronizer(AQS)抽丝剥茧深入了解JUC框架原理
  10. 数据可视化之powerBI入门(三)财务人员必学,使用Powerquery是一种什么体验?