Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment envoyer un e-mail d’activation dans Laravel après l’enregistrement de l’utilisateur

580

Laravel est livré avec un flux d’authentification lorsque nous l’installons. Il comprend la connexion, l’enregistrement, le flux de mot de passe oublié dans le noyau Laravel lui-même. En utilisant ce flux intégré, lorsque l’utilisateur s’enregistre, il accède directement au système. Mais que se passe-t-il si quelqu’un souhaite envoyer un code de vérification par e-mail avant d’autoriser un utilisateur à utiliser l’application. Dans cet article, nous étudions comment envoyer un e-mail d’activation dans Laravel.

Nous allons envoyer un e-mail de confirmation à l’utilisateur. Lorsqu’un utilisateur clique sur le lien de vérification envoyé dans un e-mail, il est le seul à pouvoir utiliser le système.

Commencer

Pour commencer, nous installons d’abord le package dans notre projet Laravel. Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :

composer require beyondcode/laravel-confirm-email

Ce package qui ajoute une vérification par e-mail à vos projets Laravel.

Après avoir installé le package, nous devons exécuter une commande pour publier la migration et le fichier de configuration.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

Dans le userstableau, ce package ajoute deux colonnes confirmed_atet confirmation_code. Exécutons la commande de migration pour ajouter ces colonnes.

php artisan migrate

Configuration

Pour envoyer un e-mail d’activation, nous devons remplacer AuthenticatesUsers, RegistersUserset SendsPasswordResetEmailstraits par ceux fournis par ce package.

Ouvrez d’abord les fichiers ci-dessous dans votre éditeur, puis nous remplaçons les traits un par un.

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

A partir des fichiers ci-dessus, remplacez les déclarations

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

Avec

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

Comme nous envoyons un lien de vérification dans un e-mail d’activation, ajoutez les deux itinéraires suivants dans un routes/web.phpfichier.

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

Lorsqu’un utilisateur clique sur le lien de vérification, ce package ajoute des messages flash contenant un message d’erreur/d’information pour les utilisateurs. Pour afficher ce message flash aux utilisateurs, ajoutez le code ci-dessous dans le fichier 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
.....

Nous devons également ajouter le code ci-dessous dans le resourcesviewsauthpasswordsemail.blade.php

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

C’est ça! Désormais, lorsqu’un utilisateur s’inscrit sur votre site Web, il recevra un e-mail d’activation pour confirmer son compte. S’il vous plaît partager vos pensées dans la section commentaire ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails