LaravelPackages.net
Acme Inc.
Toggle sidebar
mp3063/mail-activation

Provides easy laravel auth with mail activation!

88
4
v5.5.1
About mp3063/mail-activation

mp3063/mail-activation is a Laravel package for provides easy laravel auth with mail activation!. It currently has 4 GitHub stars and 88 downloads on Packagist (latest version v5.5.1). Install it with composer require mp3063/mail-activation. Discover more Laravel packages by mp3063 or browse all Laravel packages to compare alternatives.

Last updated

Easy Laravel 5.5 Auth with mail activation

For Laravel 5.4 use version 5.4.2

Preparations

In .env file add your credentials, for example:

DB_HOST=localhost
DB_DATABASE=test_mail_activation
DB_USERNAME=root
DB_PASSWORD=
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=null

In config/mail.php add your mail and name:

'from' => ['address' => '[email protected]', 'name' => 'Your Name'],

In app/User.php file(MODEL) to $fillable array add two more columns to look like this:

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

These will install all necessary views into Resource folder. Run artisan command:

php artisan make:auth

Make shure to erase following line from routes/web.php or just comment it out because routes.php file from package will take place on all routes needed for auth. It's basically same file from Laravel ( changed 3 route to override Laravel methods ):

Auth::routes();

Your routes/web.php file should look like this:

<?php
Route::get('/', function () {
    return view('welcome');
});

//Auth::routes();

Route::get('/home', 'HomeController@index');

Install

Require this package with composer using the following command:

composer require mp3063/mail-activation

In config/app.php file add to ServiceProvider array this line:

mp3063\LaravelMailActivation\LaravelMailActivationServiceProvider::class,

Run:

php artisan vendor:publish

This will copy migration file in database/migrations, and activate.blade.php in resources/emails/auth

Run:

php artisan migrate

#####If your application are running MySQL v5.7.7 and higher you do not need to do next step. If you hit this error:

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))

#####You need to do this in AppServiceProvider.php file and inside the boot method set a default string length:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

End

If you done all this steps you should have all views and routes ready for mail-activation! Just start your server and enjoj! All functionality and routes made by Laravel are preserved!

Comments