Maison > Article > développement back-end > Bibliothèque de messagerie en PHP8.0
Récemment, PHP8.0 a publié une nouvelle bibliothèque de messagerie, facilitant l'envoi et la réception d'e-mails en PHP. Cette bibliothèque possède des fonctionnalités puissantes, notamment la création d'e-mails, l'envoi d'e-mails, l'analyse des e-mails, l'obtention de pièces jointes et la résolution des problèmes de blocage des e-mails.
Dans de nombreux projets, nous devons utiliser le courrier électronique pour la communication et certaines opérations commerciales nécessaires. La bibliothèque de courrier en PHP8.0 nous permet d'y parvenir facilement. Ensuite, nous explorerons cette nouvelle bibliothèque de messagerie et verrons comment l'utiliser dans notre application.
Installer la bibliothèque de messagerie
Tout d'abord, nous devons utiliser Composer pour installer la bibliothèque de messagerie PHP8.0. Dans notre répertoire de projet, nous pouvons exécuter la commande suivante :
composer require phpmailer/phpmailer
Cette commande installera la bibliothèque PHPMailer, qui est la bibliothèque de messagerie standard pour PHP8. 0 .
Établir une connexion
Avant d'utiliser la bibliothèque de messagerie, nous devons établir une connexion avec le serveur SMTP. Nous pouvons utiliser le protocole SMTP pour envoyer des e-mails. Le serveur SMTP nécessite une adresse et un port SMTP. En utilisant la bibliothèque de messagerie de PHP8.0, nous pouvons utiliser le code suivant pour établir une connexion avec le serveur SMTP :
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
require 'vendeur/autoload.php';
$mail = new PHPMailer(true);
try {
//Server settings $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output $mail->isSMTP(); //Send using SMTP $mail->Host = 'smtp.gmail.com'; //Set the SMTP server to send through $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = 'yourname@gmail.com'; //SMTP username $mail->Password = 'yourpassword'; //SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption $mail->Port = 465; //TCP port to connect to; use 587 if you have no SSL/TLS support //Recipients $mail->setFrom('yourname@gmail.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); //Add a recipient //Content $mail->isHTML(true); //Set email format to HTML $mail->Subject = 'Test Email'; $mail->Body = 'This is a test email.'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->send(); echo 'Message has been sent';
} catch (Exception $e) {# 🎜🎜 #
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";}Dans le code ci-dessus, nous avons d'abord présenté la bibliothèque PHPMailer et créé une instance PHPMailer. Nous avons ensuite configuré l'adresse du serveur SMTP, le numéro de port, le nom d'utilisateur, le mot de passe et activé l'authentification SMTP. Nous formatons et contenons également l'e-mail et spécifions les adresses de l'expéditeur et du destinataire. Utiliser la bibliothèque de messagerie
Après avoir établi la connexion avec le serveur SMTP, nous pouvons utiliser la bibliothèque de messagerie de PHP8.0 pour envoyer des emails. Nous pouvons utiliser le code suivant pour envoyer un e-mail :
$mail->isHTML(true); //Définir le format de l'e-mail sur HTML
$mail - >Subject = 'E-mail de test';
$mail->Body = 'Ceci est un e-mail de test.';
$mail->AltBody = 'Ceci est le corps en texte brut pour les non-utilisateurs. -Clients de messagerie HTML';
La bibliothèque de messagerie de PHP8.0 fournit également la fonction d'analyse des e-mails. Nous pouvons utiliser le code suivant pour analyser un email :
$mail = new PHPMailer();
$mail->setServer(' smtp .gmail.com', 'nom d'utilisateur', 'mot de passe');
$mail->setPort('587');
$mail->addAddress('recipient@example.com' , 'John Doe');
$mail->retrieve();
$emailBody = $mail->utf8ize($mail->Body);
$message = imap_fetchbody($imapStream, 1, ""); 🎜🎜#
// Analyser le corps de l'e-mail à l'aide des fonctions DOM intégrées de PHP
$dom = new DOMDocument();
$header = $dom->getElementsByTagName('header')->item(0);
foreach($header->childNodes en tant que $ node ) {
if ($node->nodeName == 'from') { list($name, $email) = explode(' <', $node->nodeValue); $data['from_name'] = $name; $data['from_email'] = str_replace('>', '', $email); } elseif ($node->nodeName == 'date') { $data['date'] = date('Y-m-d H:i:s', strtotime($node->nodeValue)); } elseif ($node->nodeName == 'subject') { $data['subject'] = $node->nodeValue; }
Summary
La bibliothèque de messagerie de PHP8.0 facilite l'utilisation du courrier électronique dans les applications PHP. La bibliothèque fournit des fonctionnalités puissantes, notamment la création d'e-mails, l'envoi d'e-mails, l'analyse d'e-mails et l'obtention de pièces jointes d'e-mails. En utilisant la bibliothèque PHPMailer, nous pouvons facilement implémenter la fonctionnalité de messagerie et l'utiliser dans notre application.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!