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:
 





 
    
Top comments (1)
Hola amigo, tu explicación ha sido excelente para culminar mis dudas en cuanto a este tema que quería lograr.
Tengo una duda, ¿cómo haría para configurar mi entorno para que llegara directamente al correo de la persona que se registra en vez de a mailtrap.io?