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分钟内输入你的验证码');
}
}
模板:
邮箱:
更多
扫描下方二维码,关注本人公众号:
___中国好码农
猜你喜欢
Swoole 实现长连接
阅读 2525Swoole 实现长连接,心跳
黑客、后门
阅读 1572留下的网站后门,可以作什么?
Layui富文本视频等多功能
阅读 702Layui富文本多功能添加
在 Laravel 中集成 Swoole 实现 WebSocket 服务器
阅读 2458基于 LaravelS 扩展包把 Swoole 集成到 Laravel 项目来实现 WebSocket 服务器,以便与客户端进行 WebSocket 通信从而实现广播功能。
Swoole 扩展安装与使用入门
阅读 1908Swoole从入门到实战
swoole 极简聊天室
阅读 1265五分钟教你写超简单的swoole聊天室
Resultful API规范
阅读 811什么是resultful
LaravelS基于Swoole实现高性能 HTTP 服务器
阅读 1777LaravelS基于Swoole 配置nginx等