✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Så här skickar du aktiverings-e-post i Laravel efter användarregistrering

16

Laravel kommer med autentiseringsflöde när vi installerar det. Det inkluderar inloggning, registrering, glömt lösenordsflöde i själva Laravel-kärnan. Med hjälp av det här inbyggda flödet får de direkt tillgång till systemet när användaren registrerar sig. Men vad händer om någon vill skicka e-postverifieringskod innan användaren får använda appen. I den här artikeln studerar vi hur man skickar aktiverings-e-post till Laravel.

Vi kommer att skicka ett bekräftelsemail till användaren. När en användare klickar på verifieringslänken som skickas i ett e-postmeddelande kommer bara han att kunna använda systemet.

Komma igång

För att komma igång installerar vi först paketet i vårt Laravel-projekt. Öppna terminalen i din projektkatalog och kör kommandot:

composer require beyondcode/laravel-confirm-email

Detta paket som lägger till e-postverifiering till dina Laravel-projekt.

Efter att ha installerat paketet ska vi köra ett kommando för att publicera migreringen och konfigurationsfilen.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

I userstabellen lägger detta paket till två kolumner confirmed_atoch confirmation_code. Låt oss köra migreringskommandot för att lägga till dessa kolumner.

php artisan migrate

Konfiguration

För att skicka aktiveringsbrev vi behöver byta AuthenticatesUsers, RegistersUsersoch SendsPasswordResetEmailsegenskaper med dem som tillhandahålls av detta paket.

Öppna nedanstående filer i din redigerare först ersätter vi egenskaperna en efter en.

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

Från ovanstående filer ersätter uttalandena

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

Med

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

När vi skickar en verifieringslänk i ett aktiverings-e-postmeddelande, lägg till följande två rutter i en routes/web.phpfil.

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

När en användare klickar på verifieringslänken lägger detta paket till flashmeddelanden som innehåller fel / informationsmeddelande för användarna. För att visa detta flashmeddelande för användare, lägg till nedanstående kod i 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
.....

Vi måste också lägga till nedanstående kod i resourcesviewsauthpasswordsemail.blade.php

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

Det är allt! Nu när en användare registrerar sig på din webbplats får de ett aktiverings-e-postmeddelande för att bekräfta sitt konto. Dela dina tankar i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer