1. 程式人生 > >laravel註冊傳送樣式郵件

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>