Подтверждение почты (email)

В Laravel по умолчанию входит возможность подтверждения пользователя по email.

Чтобы письмо с подтверждением отправлялась пользователю, надо для класса User добавить интерфейс MustVerifyEmail.

# app/User.php
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;
    // …
}

Подтверждение почты сохраняется в таблице «users» в поле email_verified_at. В данном поле указывается дата подтверждения почты (если поле заполнено, значит пользователь подтвердил свой email).

В результате после регистрации, на почту пользователя будет приходит примерно следующее письмо:

Laravel. Email Verification

Перенаправление после подтверждения почты

Указать, какую страницу надо открывать после подтверждения почты, можно в файле app/Http/Controllers/Auth/VerificationController.php.

# app/Http/Controllers/Auth/VerificationController.php

protected $redirectTo = '/';

Страница с подтверждением email

Чтобы стала доступна страница, в которой можно запросить ссылку на подтверждение почты, в файле routes/web.php надо добавить следующий параметр:

# routes/web.php

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

Теперь станет доступна страница /email/verify, в которой можно будет отправить письмо с подтверждением email.

Шаблон страницы подтверждения почты находится в resources/views/auth/verify.blade.php.