laravel注册发送样式邮件

思路 1.注册验证 不能为空 不能有重复 2.注册成功   3.注册成功自动发送邮件 

大概代码如下  先创建一个表单

第一步 静态页面     这里的session是 我在书写控制器里验证的东西  可以看控制器里的with就知道了

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<div style="font-size:25px;color:red;text-align:left;font-weight:bolder;">
      @if(Session::has('user'))
          {{Session::get('user')}}
      @endif
       @if(Session::has('password'))
          {{Session::get('password')}}
      @endif
      @if(Session::has('email'))
          {{Session::get('email')}}
      @endif
      @if(Session::has('user1'))
          {{Session::get('user1')}}
      @endif
      @if(Session::has('email1'))
          {{Session::get('email1')}}
      @endif
      </div>
	<form action="{{url('reg')}}" method="post">
     <h1>注册账号</h1>
     账号: <input type="text" name="user"><br>
     密码: <input type="password" name="password"><br>
     邮箱: <input type="text" name="email"><br>
     <input type="submit" value="注册">
	</form>
</body>
</html>

然后再控制器里代码如下 

因为要发送带样式的  所以send是包含有样式的邮箱   function后面跟了个use 是因为表单填写完邮件就是需要发送的邮件

<?php 
namespace App\Http\Controllers\reg;

use Illuminate\Support\Facades\DB;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use App\Model\Reg;

use Mail;

class RegController extends Controller{
	public function reg(Request $request){
        if($request->isMethod('post')){
        	$rel=$request->all();
            if(empty($rel['user'])){
            	return redirect('reg')->with('user','用户不能为空');
            }
            if(empty($rel['password'])){
            	return redirect('reg')->with('password','密码不能为空');
            }
            if(empty($rel['email'])){
            	return redirect('reg')->with('email','邮箱不能为空');
            }
            $user = DB::table('jy_reg')->where('user',$rel['user'])->first();
            if($user){
            	return redirect('reg')->with('user1','该手机号已经注册');
            }
            $email = DB::table('jy_reg')->where('email',$rel['email'])->first();
            if($email){
            	return redirect('reg')->with('email1','该邮箱已被注册');
            }else{
                 $arr['user']=$rel['user'];
                 $arr['password']=$rel['password'];
                 $arr['email']=$rel['email'];
                 $data = DB::table('jy_reg')->insert($arr);
                 if($data){
                 	$email = $rel['email'];
                 	Mail::send('reg.regindex',['user'=>$rel['user'],'password'=>$rel['password']],function($message)use ($email){
                           $message->from('发件人邮箱','发件人姓名');
                           $message->subject('标题');
                           $message->to($email);
                 	});
                 	return "已向您发送了邮件";
                 }
            }
        }else{
        	return view('reg.reg');
        }
	}
}

 ?>

因为是带样式的邮箱  所以还需要写一个页面   控制器里的send  第一个参数就是样式模板

第三步

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<table border="1">
      <h1>恭喜,注册成功</h1>
      <h2>您的账号为{{$user}}</h2>
      <h2>您的密码为{{$password}}</h2>
      <h2>请您牢记</h2>
	</table>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_42611547/article/details/83995395