Tutoriel : vérification des e-mails en Laravel - Letecode

Tutoriel : vérification des e-mails en Laravel

Vous voulez vous rassurer que les utilisateurs utilisent des adresses mail valides ? ce tutoriel vous aidera à vérifier les adresses mails de vos utilisateurs.

Jean Claude Mbiya
Jean Claude Mise à jour : 22 décembre 2022 1685
Dans cet exemple simple de vérification des e-mails en laravel 9, 8, 7, ou 6, nous aimerions partager avec vous comment vérifier les e-mails après l'enregistrement de l'utilisateur dans l'application laravel. Nous utiliserons la nouvelle fonctionnalité de laravel MustEmailVerify et une fois que l'utilisateur aura vérifié avec succès l'e-mail, nous nous authentifierons et redirigerons vers le tableau de bord de l'utilisateur. Nous allons vous montrer chaque chose étape par étape.

Si l'utilisateur s'inscrit chez nous mais ne vérifie pas l'e-mail dans le projet laravel. L'utilisateur ne peut pas accéder au tableau de bord dans un projet basé sur laravel. L'utilisateur peut voir le message "Avant de continuer, veuillez vérifier votre e-mail pour le lien de vérification. Si vous n'avez pas reçu l'e-mail, cliquez pour en demander un autre".

Ceci permet de garentir que les utilisateurs qui accèdent à l'application utilisent des adresses email qui existent et qui sont valides.

Le processus de vérification des e-mails par défaut de Laravel est très simple et facile. Nous pouvons également modifier le modèle d'e-mail par défaut et créer un nouveau modèle d'e-mail personnalisé de vérification des e-mails, de réinitialisation du mot de passe, de mot de passe oublié et remplacer les modèles par défaut. La fonctionnalité de vérification des e-mails de Laravel a réduit le plus de temps de développement.

Sommaire

Créer une application Laravel
Configurer la base de données et les détails SMTP
Créer un échafaudage d'authentification
Migrer la base de données
Ajouter les routes
Ajouter un middleware dans le contrôleur
Exécuter le serveur de développement
Conclusion

1. Créer une application Laravel

Tout d'abord, nous devons télécharger la nouvelle configuration de laravel. Utilisez la commande ci-dessous et téléchargez une nouvelle configuration laravel :

composer create-project --prefer-dist blog laravel/laravel

2. Configurer la base de données

Après avoir créer avec succès l'application Laravel, accédez au fichier .env de votre projet, configurez les informations d'identification de la base de données et passez à l'étape suivante :

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=ici le nom de votre base de données ici 
DB_USERNAME=ici le nom d'utilisateur de la base de données ici 
DB_PASSWORD=ici le mot de passe de la base de données ici


Après avoir défini avec succès les informations d'identification de la base de données, configurez maintenant les informations d'identification SMTP dans .env. Nous avons utilisé une information d'identification SMTP de MailTrap dans cet exemple. Suivez ce lien pour créer vos identifiants en moins de temps

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=votre_nom_utilisateur_mailtrap 
MAIL_PASSWORD=votre_mot_de_passe_utilisateur_mailtrap 
MAIL_ENCRYPTION=tls

Le service SMTP que vous souhaitez peut être utilisé pour la vérification des e-mails dans le projet Laravel. Comme Gmail SMTP, Yahoo SMTP, Melgun SMTP, etc.

3. Créer un échafaudage d'authentification

Cette commande créera des routes, des contrôleurs et des fichiers de vue pour l'authentification et l'enregistrement de connexion Laravel. Cela signifie fournir un système complet d'authentification et d'enregistrement de connexion laravel de base. Ouvrons l'invite de commande et tapons la commande ci-dessous.
composer require laravel/ui


Prochaine étape, nous devons créer de nouvelles vues blade pour la connexion, l'enregistrement, l'oubli du mot de passe et la réinitialisation du mot de passe. Alors visitez ce lien pour le nouvel échafaudage d'authentification laravel.

4. Migrer la base de données

Laravel 6/7 : Avant d'exécuter la commande php artisan migrate, accédez à app/providers/AppServiceProvider.php et insérez le code ci-dessous :
use Illuminate\Support\Facades\Schema ; 

function boot() 
{ 
     Schema::defaultStringLength(191); 
}


Nous allons maintenant exécuter la commande ci-dessous. Cela créera des tables dans notre base de données, utilisez la commande ci-dessous :

php artisan migrate

Après avoir migré les tables de la base de données, nous devons ajouter le contrats MustVerifyEmail dans App/User.php. Ouvrez le fichier App/User.php ajoutez le constructeur comme :

<?php
 
namespace App;
 
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
 
class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;
 
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];
 
    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
} 

5. Ajouter des routes

Nous allons créer une route dans le fichier web.php pour la vérification des e-mails dans l'application Laravel. Allez dans le fichier app/routes/web.php et créez-en un ci-dessous :

Route::get('/', function() { 
     return view('welcome'); 
}); 
 
//Avant 
Auth::routes(); 
 
//après 
Auth::routes(['verify' => true]);

6. Ajouter un middleware dans le contrôleur

Nous devons ajouter le middleware dans le constructeur du contrôleur. Allez dans app/controllers/HomeController
et mettez cette ligne $this->middleware(['auth', 'verified']); à l'intérieur du constructeur :

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
 
class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware(['auth', 'verified']);
    }
 
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('home');
    }
}

lorsqu'un utilisateur tente d'accéder au tableau de bord de notre application laravel sans vérification par e-mail. Les utilisateurs ne peuvent pas accéder sans vérifier l'e-mail dans l'application laravel, nous avons ajouté la ligne de code à l'intérieur du constructeur du contrôleur. Il vérifiera la vérification de l'e-mail de l'utilisateur si un e-mail est vérifié ou non dans le projet laravel.

7. Exécutez le serveur de développement

Nous devons démarrer le serveur de développement. Utilisez la commande suivante et démarrez votre serveur :

php artisan serve 

Si vous souhaitez exécuter le projet sur un port différent, utilisez la commande ci-dessous 
 php artisan serve --port=8080 
 
Nous sommes maintenant prêts à exécuter notre exemple, alors exécutez la commande ci-dessous pour une exécution rapide.

http://localhost:8000/

Conclusion

Dans ce tutoriel laravel pour la vérification des e-mails, nous avons vérifié avec succès l'adresse e-mail après l'enregistrement de l'utilisateur. Si l'utilisateur ne vérifie pas son e-mail. Les utilisateurs ne peuvent pas se connecter avec notre projet basé sur laravel. nos exemples s'exécutent rapidement.

vote
Jean Claude Mbiya
Jean Claude Mbiya

Développeur Web full stack, Développeur Android (Certifié Google AAD) Formateur dans les domaines du numérique, Créateur letecode.com 👨‍💻. Je suis un grand passionné des nouvelles technologies et j'adore partager ce que j'apprend.

0 commentaire(s)

Laissez votre commentaire à @johnmbiya

ou pour laisser un commentaire