Envoyer des e-mails avec PHPMailer
L’envoi d’e-mails est une partie essentielle d’un site web. La fonction mail de PHP offre un moyen standard d’envoyer des e-mails avec PHP.
Phpmailer offre facilement des fonctions d’envoi avancées et dynamiques comme le chiffrement, l’authentification, les messages HTML et les pièces jointes.
Pour configurer Phpmailer sur votre compte cPanel mutualisé, procédez simplement comme suit :
-
Téléchargez le dossier zip à l’adresse https://github.com/PHPMailer/PHPMailer/archive/master.zip
-
Créez dans votre répertoire “public_html” un dossier qui contiendra les fichiers. Vous pouvez nommer ce dossier “mailer”
-
Décompressez le fichier téléchargé, puis copiez le dossier “src” et son contenu dans le dossier “mailer”
Pour simplifier, vous pouvez compresser le dossier “src” en zip, le téléverser dans le répertoire “mailer”, puis le décompresser.
-
Créez un fichier dans le répertoire “mailer” et nommez-le par exemple “php_mailer.php”.
-
Copiez-collez le code suivant et adaptez-le selon vos besoins
<?php/** * This example shows making an SMTP connection without using authentication. */// path to phpmailer classesrequire 'src/Exception.php';require 'src/PHPMailer.php';require 'src/SMTP.php';
//Import the PHPMailer class into the global namespaceuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\SMTP;
//SMTP needs accurate times, and the PHP time zone MUST be set//This should be done in your php.ini, but this is how to do it if you don't have access to thatdate_default_timezone_set('Etc/UTC');
//Create a new PHPMailer instance$mail = new PHPMailer;//Tell PHPMailer to use SMTP$mail->isSMTP();//Enable SMTP debugging// SMTP::DEBUG_OFF = off (for production use)// SMTP::DEBUG_CLIENT = client messages// SMTP::DEBUG_SERVER = client and server messages$mail->SMTPDebug = SMTP::DEBUG_SERVER;//Set the hostname of the mail server$mail->Host = 'localhost';//Set the SMTP port number - likely to be 25, 465 or 587$mail->Port = 25;//We don't need to set this as it's the default value//$mail->SMTPAuth = false;//Set who the message is to be sent from$mail->setFrom('from@example.com', 'First Last');//Set an alternative reply-to address$mail->addReplyTo('replyto@example.com', 'First Last');//Set who the message is to be sent to$mail->addAddress('whoto@example.com', 'John Doe');//Set the subject line$mail->Subject = 'PHPMailer SMTP without auth test';
//Replace the plain text body with one created manually$mail->AltBody = 'This is a plain-text message body';//Attach an image file//send the message, check for errorsif (!$mail->send()) { echo 'Mailer Error: '. $mail->ErrorInfo;} else { echo 'Message sent!';}N’oubliez pas de remplacer “example.com” par votre nom de domaine.
Si le fichier de votre application s’appelle “php_mailer.php”,
vous pouvez maintenant ouvrir www.example.com/mailer/php_mailer.php
Vous devriez voir : ’Message sent ’ si tout fonctionne correctement.
Les erreurs courantes sont notamment les échecs DNS et les erreurs du serveur de messagerie. Pour un guide détaillé sur la résolution de ces erreurs, consultez ce guide ici
Ce guide est adapté de Phpmailer
Cette page vous a-t-elle aidé ?
Merci pour votre retour.