Configurer un SMTP sur WordPress sans plugin

27 mars 2018 camillejg 5 commentaires

Depuis que les grands fournisseurs d’adresse emails ont durci les règles sur la réception des emails, la configuration d’un SMTP est devenu incontournable sur tous les sites Internet qui font de l’envoi transactionnel ou commercial. D’une part pour sécuriser les envois, et d’autre part pour s’approcher d’un taux de réception des emails proche de 100%.

Sur WordPress, de nombreux plugins permettent d’effectuer cette configuration de manière assez simple. Mais la solution technique est elle aussi très simple et rapide à mettre en place, et permet d’éviter l’installation d’un plugin supplémentaire sur votre site.

Pour ce faire, WordPress propose la fonction phpmailer_init(), qui se configure ainsi:

add_action( 'phpmailer_init', 'my_phpmailer_configuration' );
function my_phpmailer_configuration( $phpmailer ) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'smtp.exemple.com';
    $phpmailer->SMTPAuth = true; // Indispensable pour forcer l'authentification
    $phpmailer->Port = 465;
    $phpmailer->Username = 'utilisateur';
    $phpmailer->Password = 'motdepasse';

    // Configurations complémentaires
    //$phpmailer->SMTPSecure = "ssl"; // Sécurisation du serveur SMTP : ssl ou tls
    //$phpmailer->From = "wordpress@exemple.com"; // Adresse email d'envoi des mails
    //$phpmailer->FromName = "Nom Exemple"; // Nom affiché lors de l'envoi du mail
}

Ce code est à ajouter dans le fichier functions.php de votre thème WordPress.

Quel service SMTP choisir ?

Vous ne savez quel service SMTP choisir, voici une liste non-exhaustive de quelques services performants et avec lesquels j’ai pu travailler sur mes différents projets :


5 réponses à “Configurer un SMTP sur WordPress sans plugin”

  1. Pascal dit :

    Bonjour et merci pour votre article très clair et facile à mettre en place.
    Je cherche à ajouter une ligne de code pour ajouter l’email de réponse.
    Auriez-vous la possibilité de me donner l’info ?
    Je vous en remercie par avance.
    Bien cordialement
    Pascal

    • camillejg dit :

      Bonjour Pascal,

      Il faut simplement ajouter cette ligne :
      $phpmailer->AddReplyTo(‘replyto@email.com’, ‘Nom réponse’);

      Bonne continuation !
      Camille

  2. Pascal CAMLITI dit :

    Bonjour,

    Est-ce que cette fonction doit être ajoutée pour toutes les boites emails du site ou simplement la principale du webmaster ?
    A vous lire,

    • camillejg dit :

      Bonjour Pascal,

      Il faut y mettre l’adresse qui sera censée recevoir les emails de réponse. Donc celle du webmaster si c’est cette personne, sinon les adresses des personnes concernées.

      Bonne continuation !
      Camille

  3. Thomas dit :

    Merci pour cette infos qui m’a aidé

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles associés