Nahuel Segovia
Posted on September 2, 2020
Bien, algunas de las cosas por las que es necesario implementar la verificación de email en nuestros proyectos son:
Evitar spam
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 copiar 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=nahuelprueba@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
Lo que 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
Modelo:
class User extends Authenticatable implements MustVerifyEmail
HomeController:
<?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');
}
}
Rutas:
<?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:
Posted on September 2, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 27, 2024
November 21, 2024