laravel註冊傳送樣式郵件
阿新 • • 發佈:2018-11-13
思路 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>