Comment utiliser la classe PHP Mailer pour l’envoi d’emails en SMTP?

PHP Mailer est une classe PHP fournissant une collection de fonctions, qui permet de construire et d’envoyer des emails en utilisant une authentification sur le serveur SMTP, cette méthode sécurisée vous évitera de voir les noms de serveurs de ADK Media sur les entêtes des emails que vous recevez à travers vos formulaires de contact par exemple, ou que reçoivent vos clients, puisque vos emails sont envoyés après une authentification réussie sur le serveur mail.

Note importante : Cet article concerne juste l’utilisation de la classe PHP Mailer avec SMTP, n’oubliez pas la validation des champs, ainsi que l’utilisation d’un captcha (exemple :  Google reCAPTCHA) pour éviter le spamming depuis vos formulaires.

Pour utiliser PHP Mailer vous devez tout d’abord :

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

Exemple d’utilisation de la classe PHP Mailer :

  • Implémenter le script qui charge automatiquement la classe PHPMailer et SMTP :
require 'src/PHPMailer.php';
require 'src/SMTP.php';
  • Créer une nouvelle instance de la classe :
$mail = new PHPMailer(True);
  • Après avoir collecté les informations nécessaires pour envoyer votre premier email, placez vos informations collectées comme indiquées sur l’exemple ci-dessous :
$mail->isSMTP(); // Paramétrer le Mailer pour utiliser SMTP 
$mail->Host = 'mail.votredomaine.com'; // Spécifier le serveur SMTP
$mail->SMTPAuth = true; // Activer authentication SMTP
$mail->Username = 'user@votredomaine.com'; // Votre adresse email d'envoi
$mail->Password = 'secret'; // Le mot de passe de cette adresse email
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Accepter SSL
$mail->Port = 465;

$mail->setFrom('from@example.com', 'Mailer'); // Personnaliser l'envoyeur
$mail->addAddress('To1@example.net', 'Karim User'); // Ajouter le destinataire
$mail->addAddress('To2@example.com'); 
$mail->addReplyTo('info@example.com', 'Information'); // L'adresse de réponse
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz'); // Ajouter un attachement
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); 
$mail->isHTML(true); // Paramétrer le format des emails en HTML ou non

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
  • Envoyer votre email comme suit :
if(!$mail->send()) {
   echo 'Erreur, message non envoyé.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
   echo 'Le message a bien été envoyé !';
}
  • Si vous avez une erreur au niveau du SMTP, vous pouvez utiliser la fonction de debug permettant d’avoir plus de détails sur l’origine de l’erreur :
 $mail->SMTPDebug = 1;

   

Lire aussi :

Support technique

Besoin d'une assistance spécifique?

Contactez notre support en ligne en ouvrant un ticket sur votre espace client.

Ouvrir un ticket Comment ouvrir un ticket?

ADK Media ADK Media