使用laravel进行邮箱验证

简单粗暴,直接上代码!

.env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=route@163.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

控制器层:

 //163邮箱发送邮件
   public function mail(){
   	 $data=Crty::mailed();
   	 // print_r($data);die;
   	 Mail::send("add_sort/shows",['user'=>$data->user],function($message){
   	 	$message->from("15******97@163.com","发件人");
   	 	$message->subject('message');
   	 	$message->to('收件人@qq.com');
   	 });
    
   }
    
  //缓存Cache
   public function register(Request $request){
   	 if($request->isMethod('post')){
       $data=$request->all();
       $info=Crty::registered($data);
       // print_r($info);die;
       if($info){
       	return redirect('crty/mail');
       }
   	 }elseif($request->isMethod('get')){
   	 	return view('add_sort/register');
   	 }
   	
   }

model层:

//注册model
  public static function registered($data){
    // print_r($data);die;
    if(empty($data['user'])){
      echo "用户名不能为空";die;
    }
    if(empty($data['pwd'])){
      echo "密码不能为空";die;
    }
    if(empty($data['telphone'])){
      echo "手机号码不能为空";die;
    }
    if(empty($data['email'])){
      echo "邮箱不能为空";die;
    }
    $user=$data['user'];
    $telphone=$data['telphone'];
    $email=$data['email'];
    $arr=array(
      'user'=>$data['user'],
      'pwd'=>$data['pwd'],
      'telphone'=>$data['telphone'],
      'email'=>$data['email']
     );
   Mail::send("add_sort/shows",['user'=>$arr['user'],'telphone'=>$arr['telphone']],function($message){
      $message->from("1**105****7@163.com","发件人");
      $message->subject('message');
      $message->to('11****@qq.com');
     });
   //设置缓存,用以想客户发送邮箱数据    
     $insert=DB::table('register')->insert($arr);
     return $insert;
    }
   //邮箱验证
   public static function mailed(){
       $data=DB::table('register')->where('id',25)->first(); 
       return $data;
   }

view:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<table>

		<tr>
			<td>恭喜{{$user}},用户电话{{$telphone}}</td>
			
		</tr>

	</table>
</body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel进行邮箱验证可以通过以下步骤实现: 1. 在控制器中定义验证规则: ```php $rules = [ 'email' => 'required|email|unique:users,email', ]; ``` 2. 在控制器中引入 Validator 并使用 validate 方法进行验证: ```php use Illuminate\Support\Facades\Validator; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return redirect()->back()->withErrors($validator); } // 验证通过,继续执行其他操作 ``` 3. 在表单中添加邮箱输入框并设置 name 属性为 email: ```html <form action="/register" method="POST"> @csrf <label for="email">邮箱</label> <input type="email" name="email" id="email"> <button type="submit">注册</button> </form> ``` 4. 在邮箱验证邮件中添加验证链接并发送给用户: ```php use Illuminate\Support\Facades\Mail; use App\Mail\VerificationEmail; Mail::to($user->email) ->send(new VerificationEmail($user->verification_token)); ``` 5. 创建 VerificationEmail 类并定义邮件内容及验证链接: ```php use Illuminate\Mail\Mailable; class VerificationEmail extends Mailable { public $verificationToken; public function __construct(string $verificationToken) { $this->verificationToken = $verificationToken; } public function build() { $url = route('verify-email', $this->verificationToken); return $this->view('emails.verification', ['url' => $url]); } } ``` 6. 创建邮箱验证路由并处理验证逻辑: ```php use App\Models\User; Route::get('/verify-email/{token}', function ($token) { $user = User::where('verification_token', $token)->first(); if (!$user) { abort(404); } $user->update(['verification_token' => null]); return view('emails.verification-success'); })->name('verify-email'); ``` 以上就是 Laravel进行邮箱验证的基本步骤,具体实现可能会有所不同,但大致思路是相似的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值