Position actuelle: Accueil> Derniers articles> Tutoriel complet sur l'envoi des e-mails de vérification des e-mails lors de l'inscription par PHP

Tutoriel complet sur l'envoi des e-mails de vérification des e-mails lors de l'inscription par PHP

M66 2025-08-04

Étapes pour implémenter les étapes pour envoyer des e-mails de vérification lors de l'enregistrement d'un utilisateur dans PHP

La fonction d'enregistrement des utilisateurs fait partie intégrante des sites Web modernes. Pour s'assurer que l'adresse e-mail fournie par l'utilisateur est valide et vraie, l'identité de l'utilisateur est généralement confirmée en envoyant des e-mails de vérification. Cet article présentera comment implémenter cette fonction avec PHP et fournira des exemples de code pratiques pour aider les développeurs à démarrer rapidement.

Configurer le serveur SMTP

L'envoi du courrier dépend du serveur SMTP. Il est recommandé d'utiliser la bibliothèque PHPMailer pour terminer l'envoi de courrier. Installez d'abord PHPMailer via Composer:

 Le compositeur nécessite Phpmailer / Phpmailer

Une fois l'installation terminée, introduisez le fichier de chargement automatique dans le projet:

 exiger «fournisseur / autoload.php»;

Ensuite, configurez les paramètres du serveur SMTP, y compris l'adresse du serveur, le port, le nom d'utilisateur et le mot de passe, etc., et la configuration spécifique est basée sur le fournisseur de services de messagerie utilisé.

Traiter la demande d'enregistrement des utilisateurs

Lorsqu'un utilisateur soumet un formulaire d'enregistrement, recevez d'abord des informations saisies par l'utilisateur, telles que le nom d'utilisateur et le courrier électronique:

 $ username = $ _post ['username'];
$ email = $ _post ['e-mail'];

Générer un identifiant de vérification unique pour la vérification ultérieure de la boîte aux lettres:

 $ token = bin2hex (random_bytes (16));

Stockez les informations utilisateur et l'identifiant de vérification dans la base de données pour faciliter la recherche et la mise à jour pendant la vérification.

Générez le lien de vérification et envoyez un e-mail

Créez un lien contenant des identificateurs de vérification et l'utilisateur peut terminer la vérification de l'e-mail après avoir cliqué:

 $ VerificationLink = "http://yourdomain.com/verify.php?token=". $ jeton;

Utilisez PHPMailer pour envoyer des e-mails, avec le lien de vérification dans l'organisme de messagerie:

 $ mail = new phpmailer \ phpmailer \ phpmailer ();
$ mail-> issmtp ();
$ mail-> host = 'smtp.example.com';
$ Mail-> port = 587;
$ mail-> smtpsecure = 'tls';
$ mail-> smtpauth = true;
$ mail-> username = 'username@example.com';
$ mail-> mot de passe = 'mot de passe';
$ Mail-> setFrom ('from@example.com ', «votre site»);
$ Mail-> Addaddress ($ e-mail, $ username);
$ mail-> sujet = 'Veuillez vérifier votre adresse e-mail';
$ mail-> body = 'Veuillez cliquer sur le lien suivant pour vérifier votre adresse e-mail:'. $ VerificationLink;
if (! $ mail-> send ()) {
    La livraison du courrier écho a échoué. ';;
    Echo 'Message d'erreur:'. $ mail-> errorInfo;
} autre {
    Le courrier électronique de vérification Echo a été envoyé, veuillez le vérifier. ';;
}

Vérifiez l'e-mail utilisateur

Une fois que l'utilisateur a cliqué sur le lien de vérification, la page de vérification (Verify.php) termine le processus de vérification en obtenant les paramètres de jeton dans l'URL:

 $ token = $ _get ['token'];

Interrogez la base de données en fonction du jeton, vérifiez l'utilisateur correspondant, mettez à jour l'état de vérification par e-mail à vérifier et affichez les résultats de vérification à l'utilisateur.

Résumer

Grâce aux étapes ci-dessus, les développeurs peuvent réaliser la fonction complète de l'envoi d'e-mails de vérification des e-mails lorsque les utilisateurs s'inscrivent dans des projets PHP. Cela améliore non seulement la sécurité de l'enregistrement des utilisateurs, mais évite également efficacement l'enregistrement des e-mails non valides et améliore l'efficacité de la gestion et l'expérience utilisateur du site Web.