✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come inviare e-mail di attivazione in Laravel dopo la registrazione dell’utente

96

Laravel viene fornito con il flusso di autenticazione quando lo installiamo. Include login, registrazione, flusso di password dimenticata nel core di Laravel stesso. Utilizzando questo flusso integrato, quando l’utente si registra, ottiene direttamente l’accesso al sistema. Ma cosa succede se qualcuno desidera inviare un codice di verifica e-mail prima di consentire a un utente di utilizzare l’applicazione. In questo articolo, studiamo come inviare e-mail di attivazione in Laravel.

Invieremo un’e-mail di conferma all’utente. Quando un utente fa clic sul collegamento di verifica inviato in un’e-mail, solo lui sarà in grado di utilizzare il sistema.

Iniziare

Per iniziare, installiamo prima il pacchetto nel nostro progetto Laravel. Apri il terminale nella directory principale del tuo progetto ed esegui il comando:

composer require beyondcode/laravel-confirm-email

Questo pacchetto che aggiunge la verifica e-mail ai tuoi progetti Laravel.

Dopo aver installato il pacchetto, dovremmo eseguire un comando per pubblicare la migrazione e il file di configurazione.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

Nella userstabella, questo pacchetto aggiunge due colonne confirmed_ate confirmation_code. Eseguiamo il comando di migrazione per aggiungere queste colonne.

php artisan migrate

Configurazione

Per inviare email di attivazione dobbiamo sostituire AuthenticatesUsers, RegistersUserse SendsPasswordResetEmailstratti con quelli forniti da questo pacchetto.

Apri prima i file sottostanti nel tuo editor, quindi sostituiamo i tratti uno per uno.

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

Dai file di cui sopra sostituire le dichiarazioni

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

Con

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

Poiché stiamo inviando il link di verifica in un’e-mail di attivazione, aggiungi i seguenti due percorsi in un routes/web.phpfile.

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

Quando un utente fa clic sul collegamento di verifica, questo pacchetto aggiunge messaggi flash che contengono messaggi di errore/informazioni per gli utenti. Per mostrare questo messaggio flash agli utenti, aggiungi sotto il codice nel file 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
.....

Abbiamo anche bisogno di aggiungere sotto il codice nel resourcesviewsauthpasswordsemail.blade.php

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

Questo è tutto! Ora, quando un utente effettua la registrazione sul tuo sito Web, riceverà un’e-mail di attivazione per confermare il proprio account. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More