Laravel 7에서 이메일 확인 구현

6303 단어 laravelphp
Bien, algunas de las cosas por las que es necesario implementar la verificación de email en nuestros proyectos son:
  • Evitar 스팸
  • Corroborar que realmente el usuario este usando su propio correo y no el de otra persona

  • Por eso vamos a hacerlo facilito y rápido, lo primero es hacerse una cuenta en https://mailtrap.io/ , esto sirve para testear cosas como estas, o como el reseteo de password del usuario.

    Una vez registrado nos dirigimos en el menu izquierdo a >Inboxes:



    a la derecha nos va a salir un menu, tenemos que seleccionar SMTP Settings y vamos a ver algo como esto:



    Vamos a copyar los datos de Host, Port, Username, Password
    y lo configuramos en nuestro .env

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=9hduas752d0940
    MAIL_PASSWORD=d95sdd577f8cf8
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=[email protected]
    MAIL_FROM_NAME="${APP_NAME}"
    


    Lo queda es ir a nuestro modelo User e implementar MustVerifyEmail, agregar el Middleware a HomeController y configurar nuestras rutas web para poder recibir los datos

    모델:

    class User extends Authenticatable implements MustVerifyEmail
    


    홈컨트롤러:

    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    
    class HomeController extends Controller
    {
        /**
         * Create a new controller instance.
         *
         * @return void
         */
        public function __construct()
        {
            $this->middleware(['auth','verified']);
        }
    
        /**
         * Show the application dashboard.
         *
         * @return \Illuminate\Contracts\Support\Renderable
         */
        public function index()
        {
            return view('home');
        }
    }
    


    루타스:

    
    <?php
    
    use Illuminate\Support\Facades\Route;
    
    /*
    |--------------------------------------------------------------------------
    | Web Routes
    |--------------------------------------------------------------------------
    |
    | Here is where you can register web routes for your application. These
    | routes are loaded by the RouteServiceProvider within a group which
    | contains the "web" middleware group. Now create something great!
    |
    */
    
    Auth::routes(['verify' => true]); /*Activando la verificación de correo*/
    
    Route::get('/', 'IndexController@index');
    Route::get('/perfil', 'PerfilController@index');
    
    Route::get('/home', 'HomeController@index')->name('home');
    


    Una vez registrado el usuario nos va a aparecer lo siguiente:



    eso quiere decir que nuestro email de verificación ha sido enviado, así que si vamos a Mailtrap vamos a ver el correo para poder verificar nuestra cuenta:

    좋은 웹페이지 즐겨찾기