Laravel邮箱推送
打开项目根目录下面的config文件夹,找到mail.php文件 如图配置 然后配置.env文件 这里的MAIL_PASSWORD为你邮箱的授权码, 已QQ邮箱为列,需要开启POP3和SMTP服务。开启方式如下:QQ邮箱 > 设置 > 账户当开启成功会生成密钥,这个东西会在配置中用到当需要记录发信记录时,你还需要进行相关配置 废话不多说,直接上代码, 以上配置这些完成后:
/*邮箱发送*/
public function mailbox_code(Request $request){
$param=$request->all();
/*输入的邮箱*/
$mailbox=$param['mailbox'];
/*验证邮箱是否合格*/
$is_mailbox=$this->mailbox($param);
if($is_mailbox){
return $is_mailbox;
}
$ip=$request->getClientIp();
/*生成6为随机数为验证码*/
$data=$this->getRandom(6);
// Cache::forget($ip.'mailbox_code');
if(Cache::get($ip.'mailbox_code')){
return array('code'=>1,'msg'=>'请在5分钟内输入你的验证码');
}else{
Cache::put($ip.'mailbox_code', $data,300);
}
/*html.code意为模板,data 为传值到模板中去*/
Mail::send('html.code',['data'=>$data],function($message) use($mailbox) {
$message->to($mailbox)->subject('测试邮件');
});
/*Mail::failures()有值时便是失败,无值则成功*/
if(Mail::failures()){
return array('code'=>1,'msg'=>'发送失败,请稍后再试');
}else{
/*这里记录日志*/
$log = new Logger('register');
$path='logs/register_code.log';
$log->pushHandler(new StreamHandler(storage_path($path)));
$str="时间: ".date("Y-m-d H:i:s",time())." Code:".$data." ip:".$ip." 邮箱:".$mailbox;
$log->info($str);
return array('code'=>0,'msg'=>'请在5分钟内输入你的验证码');
}
}
模板:
邮箱:更多
扫描下方二维码,关注本人公众号:
___中国好码农
猜你喜欢
Resultful API规范
阅读 701什么是resultful
黑客、后门
阅读 1425留下的网站后门,可以作什么?
基于 Swoole 实现简单的 WebSocket 服务器及客户端
阅读 1199基于 Swoole 实现简单的 WebSocket 服务器及客户端
Laravel队列的实现
阅读 1219Laravel 队列的简单使用例子
Swoole 实现长连接
阅读 2317Swoole 实现长连接,心跳
Layui富文本视频等多功能
阅读 620Layui富文本多功能添加
PHP定时任务
阅读 1596PHP框架Laravel定时任务的实现
Laravel验证码
阅读 619Composer生成Laravel验证码