Envoyer un email en php depuis localhost avec PhpMailer
Envoyer un email en php depuis localhost avec PhpMailer
-
Objectifs
-
Présentation
- PHPMailer est une bibliothèque open-source écrite en PHP qui facilite l’envoi d’e-mails en utilisant SMTP. Elle offre des fonctionnalités avancées pour l’envoi d’e-mails, telles que la personnalisation de l’apparence du message, l’envoi de pièces jointes, l’authentification SMTP, etc. Elle est compatible avec PHP 5.5 et ultérieur, et peut être utilisée avec les principaux serveurs de messagerie tels que Gmail, Yahoo, Hotmail, etc.
- PHPMailer est facile à utiliser et dispose d’une documentation complète pour vous guider à travers les différentes étapes de la configuration. Elle offre également une grande flexibilité, vous permettant de personnaliser pratiquement tous les aspects de l’e-mail envoyé, tels que l’expéditeur, le destinataire, le sujet, le corps du message, les pièces jointes, etc.
- En utilisant PHPMailer, vous pouvez également éviter les limitations de la fonction mail() de PHP, qui peut être bloquée par certains hébergeurs. En utilisant SMTP pour envoyer des e-mails, vous pouvez vous assurer que vos messages seront livrés avec succès à leurs destinataires.
- Enfin, PHPMailer est régulièrement mis à jour et bénéficie d’une communauté active de développeurs qui contribuent à son développement et à son amélioration continue.
-
Processus de mise en œuvre
-
Télécharger PHPMailer
- La première étape consiste à télécharger PHPMailer. Vous pouvez le faire à partir du site officiel de PHPMailer ou en utilisant Composer.
-
Installer PHPMailer
- Une fois que vous avez téléchargé PHPMailer, vous devez l’installer sur votre serveur local. Si vous utilisez Composer, vous pouvez ajouter la dépendance à votre fichier composer.json en ajoutant ceci :
- Ensuite, exécutez composer install dans votre terminal pour installer PHPMailer et toutes ses dépendances.
- Si vous n’utilisez pas Composer, vous pouvez simplement télécharger le fichier zip de PHPMailer et extraire son contenu dans un dossier de votre choix.
-
Configurer PHPMailer
- Pour configurer PHPMailer, vous devez créer une instance de la classe PHPMailer et définir ses propriétés. Voici un exemple de configuration :
- Dans cet exemple, nous avons configuré PHPMailer pour utiliser un serveur SMTP, spécifié le nom d’utilisateur et le mot de passe pour l’authentification, défini l’adresse e-mail de l’expéditeur et du destinataire, et configuré le sujet et le corps du message.
- Tester l’envoi d’e-mails
- Une fois que vous avez configuré PHPMailer, vous pouvez tester l’envoi d’e-mails en exécutant le script. Si tout se passe bien, vous devriez voir un message disant que le message a été envoyé.
- Si vous rencontrez des problèmes lors de l’envoi de l’e-mail, vous pouvez vérifier les messages d’erreur en appelant la méthode $mail->ErrorInfo.
{
"require": {
"phpmailer/phpmailer": "^6.5"
}
}
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Charger les dépendances de PHPMailer
require 'vendor/autoload.php';
// Créer une instance de PHPMailer
$mail = new PHPMailer(true);
// Configuration du serveur SMTP
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your_username@example.com';
$mail->Password = 'your_password';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Configuration de l'expéditeur et du destinataire
$mail->setFrom('your_email@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
// Configuration du sujet et du corps du message
$mail->Subject = 'Test Email from PHPMailer';
$mail->Body = 'This is a test email sent using PHPMailer.';
// Envoyer le message
if (!$mail->send()) {
echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}