Header Ads Widget

Ticker

6/recent/ticker-posts

Tutorial y ejemplo de verificación de correo electrónico de Laravel 7/6

 En el tutorial anterior, agregamos el inicio de sesión y el registro a nuestra aplicación de ejemplo Laravel 7/6. Veamos ahora cómo agregar la verificación por correo electrónico.

¿Cómo funciona la verificación de correo electrónico en Laravel 7/6?

Por lo general, después de registrar a un usuario con una dirección de correo electrónico, debería ver un correo electrónico de verificación para verificar que el usuario posee la dirección de correo electrónico que utilizó para el registro de la cuenta.

Solo después de la verificación exitosa del correo electrónico, el usuario será autenticado y redirigido a la página de inicio.

Si el usuario no verifica la dirección de correo electrónico, la aplicación mostrará el mensaje: “Antes de continuar, verifique su correo electrónico para ver si hay un enlace de verificación. Si no recibió el correo electrónico ". y no permitirá el acceso a la página de inicio.

Agregar verificación de correo electrónico a su aplicación Laravel 7/6

Haremos uso del nuevo MustEmailVerifycontrato disponible en versiones más recientes de Laravel.

Implementemos esta funcionalidad en nuestra aplicación CRM.

Creando un proyecto Laravel 7/6

En caso de que no haya seguido los tutoriales anteriores, estos son los pasos que debe seguir en pocas palabras:

  • Crea un proyecto de Laravel 7/6 usando el composer create-project --prefer-dist laravel/laravel <name>comando,
  • Configure su base de datos en el .envarchivo,
  • Instale el laravel/ui packagecomando composer require laravel / ui,
  • Cree el andamio de autenticación usando el php artisan ui vue --auth,
  • Ejecute el npm install && npm run devcomando para construir los activos del andamio de autenticación como JS y Bootstrap,
  • Migre su base de datos usando el php artisan migratecomando.

Configuración del servidor SMTP

Si ejecutó con éxito el paso anterior, particularmente la base de datos y el scaffolding de autenticación, a continuación, debe agregar las credenciales SMTP en el .envarchivo.

Primero, si aún no tiene un servidor SMTP, puede registrar una cuenta gratuita con mailtrap, un servicio para pruebas de correo electrónico en etapa de pruebas y desarrollo.

Después de registrarse para obtener una cuenta, obtendrá sus credenciales SMTP una vez que acceda a su bandeja de entrada. Copie el nombre de usuario y la contraseña y agréguelos en las opciones MAIL_USERNAMEyMAIL_PASSWORD

 MAIL_DRIVER=smtp  
 MAIL_HOST=smtp.mailtrap.io  
 MAIL_PORT=2525  
 MAIL_USERNAME=<YOUR_MAILTRAP_USERNAME>  
 MAIL_PASSWORD=<YOUR_MAILTRAP_PASSWORD>  
 MAIL_ENCRYPTION=tls

Implementando el MustVerifyEmailcontrato de Laravel

A continuación, debe implementar el MustVerifyEmailcontrato en el Usermodelo. Abra el App/User.phparchivo y actualice de la siguiente manera:

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;


    protected $fillable = [
        'name', 'email', 'password',
    ];


    protected $hidden = [
        'password', 'remember_token',
    ];


    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

Agregar las rutas de verificación de correo electrónico

A continuación, abra el app/routes/web.phparchivo y agregue:

Auth::routes(['verify' => true]);

Esto agregará rutas como email/verifyemail/resenda nuestra aplicación.

Agregar el middleware de verificación de correo electrónico

A continuación, abra el app/Http/Controllers/HomeController.phparchivo y agregue el verifiedmiddleware de la siguiente manera:

 class HomeController extends Controller
{

    public function __construct()
    {
        $this->middleware('verified');
    }

Tenga en cuenta que ya tenemos el authmiddleware agregado en el controlador doméstico, pero lo cambiamos en el tutorial anterior para llamarlo desde la ruta. Si no prefiere realizar ese cambio, puede agregar los middlewares verifiedauthusando una matriz de la siguiente manera:

    public function __construct()
    {
        $this->middleware(['auth', 'verified']);
    }

¡Eso es! Ahora hemos agregado la verificación por correo electrónico en nuestra aplicación. Continúe y registre una nueva cuenta, debe ser redirigido a la siguiente página que le pide que verifique su dirección de correo electrónico antes de continuar:

Verificación de correo electrónico de Laravel 7/6

Comprobando si la verificación de correo electrónico de Laravel funciona

A continuación, diríjase a la bandeja de entrada de su trampa de correo, debería encontrar el correo electrónico de verificación:

Verificación de correo electrónico de Laravel 7/6

Ábrelo y verifica tu cuenta. Debería ser redirigido a la página de inicio.

La plantilla de correo electrónico parece profesional y ni siquiera necesita personalizaciones, excepto por el título de Laravel . Este es simplemente el nombre de nuestra aplicación y podemos cambiarlo fácilmente desde el .envarchivo:

APP_NAME=CRMApp

Esta es una captura de pantalla del correo electrónico de verificación, ahora:

Verificación de correo electrónico de Laravel 7/6

Conclusión

En este tutorial, hemos visto cómo agregar verificación de correo electrónico en nuestra aplicación Laravel 7/6.

Publicar un comentario

0 Comentarios