Выбор адреса электронной почты получателя при подтверждении электронной почты Laravel

Я реализовал проверку электронной почты в своем приложении Laravel. По умолчанию, когда пользователь зарегистрирован, ему отправляется электронное письмо с подтверждением. Однако я хочу отправить письмо с подтверждением на свой адрес электронной почты, то есть выбрать получателя, чтобы администратор сайта (в данном случае я) мог утвердить регистрацию пользователя.

Есть какой-либо способ сделать это? Как?


person Sr. Quântico    schedule 29.01.2019    source источник


Ответы (1)


Для этого я бы не рекомендовал проверку электронной почты пользователя по умолчанию, которая поставляется с Laravel, это use Illuminate\Contracts\Auth\MustVerifyEmail;

Если вы хотите сделать так, чтобы пользователи утверждались администраторами, я бы создал дополнительное поле, отличное от email_verified_at.

Измените миграцию пользователей database/migrations/*********_create_users_table.php и добавьте логическое поле.

...
class CreateUsersTable extends Migration
{
    ...
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            ...
            $table->boolean('approved');
            ...
        });
    }
    ...
}

Затем вы можете создать новое промежуточное ПО, которое проверяет, утвержден ли пользователь.

Для запуска электронной почты я бы добавил событие, которое запускается, когда пользователь регистрируется в массиве прослушивания app/Providers/EventServiceProvider.php


...
class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
            /* add some notification here that sends you an email */
        ],
    ];
...

Извините, этот ответ не является подробным, но он поможет вам.

person Michael Mano    schedule 29.01.2019