Dans la société moderne, le courrier électronique est devenu un outil de communication important. Plusieurs fois, nous devons envoyer des codes de vérification par e-mail, tels que la confirmation de l'identité de l'utilisateur lors de l'enregistrement ou de la réinitialisation du mot de passe. Pour améliorer la sécurité et l'expérience utilisateur, les codes de vérification sont généralement envoyés sous forme d'images. Cet article présentera comment utiliser PHP pour envoyer des e-mails avec le code de vérification d'image et donnera des exemples de code spécifiques.
Tout d'abord, nous devons présenter la bibliothèque PHP Mailer, une bibliothèque de livraison de courrier très populaire et facile à utiliser. Grâce à lui, nous pouvons facilement envoyer des e-mails à l'aide du protocole SMTP. Après avoir introduit cette bibliothèque, vous pouvez implémenter la fonction de l'envoi d'e-mails avec des codes de vérification dans le code.
La génération d'images de code de vérification est une étape clé. Pour y parvenir, nous pouvons utiliser la bibliothèque GD de PHP, qui fournit certaines fonctionnalités pour nous aider à générer des images de code de vérification. Voici un exemple de code pour générer des images de code de vérification à l'aide de PHP:
<?php session_start(); $code = ""; // Enregistrer le code de vérification généré $width = 200; // Largeur d'image $height = 100; // Hauteur de l'image $codeLength = 4; // Longueur de code de vérification $image = imagecreate($width, $height); $bgColor = imagecolorallocate($image, 255, 255, 255); // Couleur de fond(Blanc) $fontColor = imagecolorallocate($image, 0, 0, 0); // Couleur de police(noir) $fonts = array('arial.ttf', 'verdana.ttf', 'times.ttf'); // Liste de fichiers de police for ($i = 0; $i < $codeLength; $i++) { $font = $fonts[array_rand($fonts)]; // Sélectionnez des polices au hasard $char = chr(rand(65, 90)); // Caractères générés au hasard(A-Z) $code .= $char; imagettftext($image, 30, rand(-30, 30), 20 + $i * $width / $codeLength, 50, $fontColor, $font, $char); // Dessiner des personnages } $_SESSION['code'] = $code; // Enregistrer le code de vérification danssession header('Content-Type: image/jpeg'); imagejpeg($image); // Image de sortie imagedestroy($image);
Le code ci-dessus générera une image de code de vérification 200x100 pixels et enregistrera le code de vérification à la session.
Ensuite, nous utilisons la bibliothèque PHP Mailer pour envoyer des e-mails avec des images de code de vérification. Voici un exemple de code complet:
<?php require 'vendor/autoload.php'; // PrésentéPHP MailerBibliothèque use PHPMailer\PHPMailer\PHPMailer; $mail = new PHPMailer(); $mail-> issmtp (); $ mail-> host = 'smtp.example.com'; // Adresse du serveur SMTP $ Mail-> port = 465; // Port de serveur SMTP $ Mail-> SmtpSecure = 'SSL'; // Méthode de chiffrement $ Mail-> Smtpauth = true; // Activer l'authentification SMTP $ mail-> username = 'your_email@example.com'; // e-mail nom d'utilisateur $ mail-> mot de passe = 'your_password'; // Email Mot de passe $ Mail-> setFrom ('your_email@example.com ',' Votre nom '); // Informations de l'expéditeur $ Mail-> addaddress ('recipent@example.com ', «nom du destinataire»); // Informations du destinataire $ Mail-> IsHTML (true); // Définissez le format de courrier sur HTML $ mail-> sujet = 'Code de vérification e-mail'; // Sujet par e-mail $ mail-> body = 'Votre code de vérification est:'. $ _Session ['code']; // Email Body $ Mail-> Send (); // Envoyer un e-mail
Le code ci-dessus montre comment utiliser PHP Mailer pour envoyer des e-mails contenant des codes de vérification. Dans le code, nous générons un code de vérification via PHP et l'envoyons au destinataire dans le cadre du corps de messagerie.
Pour faciliter les appels répétés, nous pouvons encapsuler la fonction d'envoyer des e-mails de code de vérification dans une fonction. Voici un exemple du package:
<?php function sendEmailWithCaptcha($recipient, $name) { // Générer une image de code de vérification et l'enregistrer sursessionmilieu // ... // utiliserPHP MailerEnvoyer un e-mail // ... }
De cette façon, nous pouvons facilement appeler cette fonction partout où nous en avons besoin et envoyer des e-mails avec le code de vérification de l'image.
Grâce à cet article, vous avez appris à utiliser PHP pour envoyer plusieurs e-mails avec des codes de vérification d'image. Nous avons terminé l'intégralité du processus en introduisant la bibliothèque PHP Mailer, en générant des images de code de vérification et en envoyant des e-mails via le protocole SMTP. J'espère que ce tutoriel vous aide!