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 实现简单的 WebSocket 服务器及客户端
阅读 1975基于 Swoole 实现简单的 WebSocket 服务器及客户端
Resultful API规范
阅读 1316什么是resultful
PHP定时任务
阅读 2180PHP框架Laravel定时任务的实现
swoole 极简聊天室
阅读 1842五分钟教你写超简单的swoole聊天室
LaravelS基于Swoole实现高性能 HTTP 服务器
阅读 2356LaravelS基于Swoole 配置nginx等
Swoole 实现长连接
阅读 3320Swoole 实现长连接,心跳
微擎常用记录
阅读 1372微擎常用记录
Laravel验证码
阅读 1216Composer生成Laravel验证码