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

PHPMailer est une classe PHP largement utilisée pour envoyer des emails à partir d’un site Internet. 

Pour utiliser PHP Mailer, il faut suivre les étapes suivantes :

 

1. Créer une adresse mail depuis votre control panel .

 

2. Obtenir vos informations d'identification SMTP.

 

3. Télécharger la librairie de PHPMailer dans Github: https://github.com/PHPMailer/PHPMailer

 

4. Décompresser le dossier de PHPMailer.

 

5. Copier le dossier dans l'arborescence de votre projet à l'emplacement de votre choix.

 

6. Ajoutez un fichier .php, puis ouvrez ce fichier  et collez le code suivant :

 

Voici un exemple de paramétrage de PHPMailer :

<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

///Path to 
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php'; 
require 'path/to/PHPMailer/src/SMTP.php';

// Load Composer's autoloader
//require 'vendor/autoload.php';

//Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
    $mail->isSMTP();                                            //Send using SMTP
    $mail->Host       = 'smtp.example.com';                     //Set the SMTP server to send through
    $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
    $mail->Username   = 'user@example.com';                     //SMTP username
    $mail->Password   = 'secret';                               //SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
    $mail->Port       = 587;                                    //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above

    //Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('joe@example.net', 'Joe User');     //Add a recipient
    $mail->addAddress('ellen@example.com');               //Name is optional
    $mail->addReplyTo('info@example.com', 'Information');
    $mail->addCC('cc@example.com');
    $mail->addBCC('bcc@example.com');

    //Attachments
    $mail->addAttachment('/var/tmp/file.tar.gz');         //Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    //Optional name

    //Content
    $mail->isHTML(true);                                  //Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $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}";
}

Une fois le paramétrage effectué, vous pouvez tester et envoyer des e-mails à partir de votre site.

 

7. Vérifiez la sortie. Si l'envoi de l'email aboutit, il affiche un message “Message has been sent”.

Dans le cas contraire, il affiche un message d'erreur “Message could not be sent”.

 

8. Connectez-vous au compte mail de  l'adresse du destinataire. Vous trouverez le message que vous avez envoyé.

 

Si vous rencontrez des erreurs exemple “Erreur 500”, vous devriez consulter les logs de votre site dans le control panel rubrique Access/Error Logs ou ajouter

ini_set('display_errors', 1);

au début du code pour afficher les erreurs.

  • 3 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?

Related Articles

Configurer votre boite e-mail sur Mac

Quel que soit votre logiciel de messagerie, les paramètres sont toujours identiques pour...

Consulter vos e-mails sur le web

Une fois l’adresse e-mail configurée, il ne reste plus qu’à l’utiliser ! Vous pouvez dès à...

Créer une boîte e-mail a l'aide du contrôle panel VALA

  Vous pouvez créer une Boîte mail en quelques étapes depuis votre Espace Client VALA. De cette...

Email Migrations

Cela semble si simple: tout ce que vous voulez faire est de passer d'un compte de messagerie ou...

Configurer votre boite e-mail sur Outlook 2007

  Pour configurer votre boite e-mail sur Outlook 2007 c'est très simple, suivez juste ces...