...
✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як надіслати електронний лист для активації в Laravel після реєстрації користувача

15

Laravel поставляється з потоком автентифікації, коли ми його встановлюємо. Він включає вхід, реєстрацію, потік забутих паролів у самому ядрі Laravel. Використовуючи цей вбудований потік, при реєстрації користувача вони безпосередньо отримують доступ до системи. Але що, якщо хтось хоче надіслати код підтвердження електронної пошти, перш ніж дозволити користувачеві використовувати програму. У цій статті ми вивчаємо, як надіслати електронний лист для активації в Laravel.

Ми надішлемо користувачеві електронний лист із підтвердженням. Коли користувач натискає посилання для підтвердження, надіслане в електронному листі, тоді лише він зможе користуватися системою.

Починаємо

Для початку ми спочатку встановлюємо пакет у проект Laravel. Відкрийте термінал у кореневому каталозі проекту та запустіть команду:

composer require beyondcode/laravel-confirm-email

Цей пакет, який додає підтвердження електронної пошти до ваших проектів Laravel.

Після встановлення пакету нам слід запустити команду для публікації міграції та файлу конфігурації.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

У usersтаблицю цей пакет додає два стовпці confirmed_atта confirmation_code. Запустимо команду міграції, щоб додати ці стовпці.

php artisan migrate

Конфігурація

Для того, щоб відправити електронну пошту активації нам потрібно замінити AuthenticatesUsers, RegistersUsersі SendsPasswordResetEmailsчорт з тими, що надаються цим пакетом.

Спершу відкрийте наведені нижче файли у вашому редакторі, після чого ми замінюємо ознаки по черзі.

  • appHttpControllersAuthLoginController.php
  • appHttpControllersAuthRegisterController.php
  • appHttpControllersAuthForgotPasswordController.php

З вищевказаних файлів замінюйте твердження

  • use IlluminateFoundationAuthAuthenticatesUsers;
  • use IlluminateFoundationAuthRegistersUsers;
  • use IlluminateFoundationAuthSendsPasswordResetEmails;

С

  • use BeyondCodeEmailConfirmationTraitsAuthenticatesUsers;
  • use BeyondCodeEmailConfirmationTraitsRegistersUsers;
  • use BeyondCodeEmailConfirmationTraitsSendsPasswordResetEmails;

Оскільки ми надсилаємо посилання для підтвердження в електронному листі для активації, додайте у routes/web.phpфайл наступні два маршрути .

Route::name('auth.resend_confirmation')->get('/register/confirm/resend', 'AuthRegisterController@resendConfirmation');
Route::name('auth.confirm')->get('/register/confirm/{confirmation_code}', 'AuthRegisterController@confirm');

Коли користувач натискає посилання для підтвердження, цей пакет додає флеш-повідомлення, що містять повідомлення про помилку / інформацію для користувачів. Щоб показати це флеш-повідомлення користувачам, додайте нижче код в resourcesviewsauthlogin.blade.php.

.....
<div class="panel-body">
    @if (session('confirmation'))
        <div class="alert alert-info" role="alert">
            {!! session('confirmation') !!}
        </div>
    @endif
 
    @if ($errors->has('confirmation') > 0)         <div class="alert alert-danger" role="alert">
            {!! $errors->first('confirmation') !!}
        </div>
    @endif
.....

Нам також потрібно додати нижче код в resourcesviewsauthpasswordsemail.blade.php

.....
<div class="panel-body">
    @if ($errors->has('confirmation') > 0)         <div class="alert alert-danger" role="alert">
            {!! $errors->first('confirmation') !!}
        </div>
    @endif
.....

Це воно! Тепер, коли користувач реєструється на вашому веб-сайті, він отримає електронне повідомлення про активацію для підтвердження свого облікового запису. Будь ласка, поділіться своїми думками в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі