Emails confirmation like Laravel native password resets.

v6.6.1 2021-10-19 18:04 UTC

This package is auto-updated.

Last update: 2021-11-26 16:30:17 UTC


Latest Release Total Downloads Build Status Software License

Emails confirmation like Laravel native password resets.


You should already have bootstrap a Laravel 5.5 project and deployed the auth scaffolding:

composer create-project --prefer-dist laravel/laravel your-project-name "5.5.*"
php artisan make:auth


Install exolnet/laravel-emails-confirmation for Laravel 5.5 using composer:

composer require "exolnet/laravel-emails-confirmation:5.5.*"

If you don't use package auto-discovery, add the service provider to the providers array in config/app.php:


And the facade to the facades array in config/app.php:

'Email' => Exolnet\Support\Facades\Email::class,


This modules provides a lot of publishable files. Some of which are overriding standard Laravel app files and others are overriding files (controllers and views) from the auth scaffolding.

If you just started a new project, you can simply force publish everything:

php artisan vendor:publish --provider="Exolnet\Auth\Emails\EmailServiceProvider" --force

If you have an already established project, you can either still force publish everything and look at the git diff to fix anything important that might have been overwritten, or you can copy the publishable files by hand.


Run the migrations:

php artisan migrate


Invoke the Route::emails() macro in your routes file:


Or define the following routes explicitly:

// Email Confirmation Routes...
Route::get('confirm', 'Auth\ResendConfirmationController@showLinkRequestForm')->name('email.resend');
Route::post('confirm', 'Auth\ResendConfirmationController@resendConfirmLinkEmail');
Route::get('confirm/{email}/{token}', 'Auth\ConfirmController@confirm')->name('email.confirm');

If you want to define explicitly the auth routes instead of using the Route::auth() macro, use this:

// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');


To run the phpUnit tests, please use:

composer test


Please see CONTRIBUTING and CODE OF CONDUCT for details.


If you discover any security related issues, please email security@exolnet.com instead of using the issue tracker.



This code is licensed under the MIT license. Please see the license file for more information.