Kuidas saata Laravelis pärast kasutaja registreerimist aktiveerimismeil
Laraveliga kaasneb autentimise voog, kui selle installime. See sisaldab sisselogimist, registreerimist, unustas paroolivoo Laraveli tuumas endas. Kasutades seda sisseehitatud voogu, saavad nad kasutajate registreerimisel otse juurdepääsu süsteemile. Aga mis siis, kui keegi soovib enne kasutajale rakenduse kasutamist lubada e-posti teel kinnituskoodi. Selles artiklis uurime, kuidas Laravelis aktiveerimismeili saata.
Saadame kasutajale kinnitusmeili. Kui kasutaja klõpsab e-kirjas saadetud kinnituslingil, saab süsteemi kasutada ainult tema.
Alustamine
Alustamiseks installime paketi kõigepealt oma Laraveli projekti. Avage terminal oma projekti juurkataloogis ja käivitage käsk:
composer require beyondcode/laravel-confirm-email
See pakett, mis lisab teie Laraveli projektidele e-posti aadressi kinnitamise.
Pärast paketi installimist peaksime käivitama käsu migratsiooni ja konfiguratsioonifaili avaldamiseks.
php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider
Kui users
tabelis selle paketi lisada kahte veergu confirmed_at
ja confirmation_code
. Käivitame nende veergude lisamiseks käsu migratsioon.
php artisan migrate
Konfiguratsioon
Saata aktiveerimise e peame asendama AuthenticatesUsers
, RegistersUsers
ja SendsPasswordResetEmails
jooni need, mida see pakett.
Esmalt avage redaktoris järgmised failid, seejärel asendame tunnused ükshaaval.
- appHttpControllersAuthLoginController.php
- appHttpControllersAuthRegisterController.php
- appHttpControllersAuthForgotPasswordController.php
Ülaltoodud failidest asendage avaldused
use IlluminateFoundationAuthAuthenticatesUsers;
use IlluminateFoundationAuthRegistersUsers;
use IlluminateFoundationAuthSendsPasswordResetEmails;
Koos
use BeyondCodeEmailConfirmationTraitsAuthenticatesUsers;
use BeyondCodeEmailConfirmationTraitsRegistersUsers;
use BeyondCodeEmailConfirmationTraitsSendsPasswordResetEmails;
Kuna saadame kinnituslingi aktiveerimismeilis, lisage routes/web.php
faili järgmised kaks marsruuti .
Route::name('auth.resend_confirmation')->get('/register/confirm/resend', 'AuthRegisterController@resendConfirmation');
Route::name('auth.confirm')->get('/register/confirm/{confirmation_code}', 'AuthRegisterController@confirm');
Kui kasutaja klõpsab kinnituslingil, lisab see pakett välksõnumid, mis sisaldavad kasutajatele veateateid / teateid. Selle välksõnumi kasutajatele kuvamiseks lisage kood allpool kood 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
.....
Peame ka koodi alla lisama resourcesviewsauthpasswordsemail.blade.php
.....
<div class="panel-body">
@if ($errors->has('confirmation') > 0) <div class="alert alert-danger" role="alert">
{!! $errors->first('confirmation') !!}
</div>
@endif
.....
See selleks! Kui kasutaja registreerib teie veebisaidi, saab ta konto kinnitamiseks aktiveerimismeili. Palun jagage oma mõtteid allpool olevas kommentaaride jaotises.