Plusieurs fonctionnalités vitales de WordPress et de ses plugins les plus utilisés requièrent l’envoi d’emails. Que ce soit l’inscription d’un client ou encore la confirmation d’un achat de votre e-commerce, ou tout simplement la récupération de votre mot de passe.
Pour éviter que votre client ou vous-même soyez bloqué ou induit en erreur dans l’utilisation de votre site, il est important de tester ces emails. Plusieurs points sont à prendre en considération.
L’envoi involontaire d’emails de test à de vrais utilisateurs. Nous avons tous reçu un mail de test de grandes entreprises, et même parfois plusieurs d’affilée. L’erreur est humaine mais ces erreurs-là amène à dégrader votre fiabilité auprès de vos utilisateurs.
Le bon affichage de vos emails à l’utilisateur final. De nombreux clients mail existent qui ont tous des règles particulières pour afficher nos emails. Faire confiance à un intégrateur d’email ou à votre builder email préféré n’est pas suffisant pour garantir le bon rendu d’un email. Il faut donc tester à la main
La dégradation de la réputation de son nom de domaine (SPAM score) auprès des serveurs d’email à cause de d’email de test non pertinent. Ex: [Object] Prise de contact [Message] Nom: Toto / Prénom : Titi / Message : dsjkbfjksbdfjksdbfjksdjkf
A force d’envoi répété de ce genre d’email, les prochains emails envoyés depuis votre nom de domaine seront envoyés directement dans les spams.
Heureusement des outils existent, dont Pacomail, pour vous aider à éviter ces désagréments. Avec Pacomail vous pouvez capturer tous vos emails de tests sans qu’ils n’arrivent aux destinataires ou ne polluent votre boîte mail. Vous pouvez vérifier l’affichage et le contenu de vos emails et même les partager à d’autres collaborateurs sans devoir transférer d’emails.
Dans ce tutoriel nous allons brancher Pacomail à WordPress pour tester nos emails transactionnels en toute sérénité.
Créer un compte Pacomail
Nous allons tout d’abord créer un compte Pacomail à l’adresse suivante https://app.pacomail.io/users/sign_up?locale=fr.

Une fois votre adresse email confirmée, vous pouvez vous connecter. Si vous vous êtes indiqué comme développeur, vous arriverez sur la configuration SMTP de votre première boîte mail.

Sinon vous pouvez retrouver cette configuration SMTP dans la sidebar ou dans la liste des projets.

Nous pouvons maintenant commencer à configurer l’envoi d’email sur votre site WordPress. Il y a plusieurs manières de faire cette configuration, ici nous en verrons deux : PHP Mailer et un plugin SMTP.
Avec la configuration PHP Mailer native de WordPress
WordPress utilise PHP Mailer l’envoi des emails (inscription, réinitialisation de mot de passe…) avec la fonction wp_mail
. Il suffit maintenant de le configurer.
Etape 1 : Récupérer la configuration SMTP de la boîte mail Pacomail
Vous avez accès aux identifiants de connexion de la boîte mail, mais aussi des bouts de code déjà préconfigurés. Vous pouvez choisir WordPress dans le sélecteur de code et copier la configuration.

// functions.php
function setup_pacomail($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.pacomail.io';
$phpmailer->Port = 2525;
$phpmailer->SMTPAuth = true;
$phpmailer->Username = '786e400a-12b3-4ae3-a16e-d1a3b8006419';
$phpmailer->Password = 'vjJcxCNVspt1KDGcXgZk';
$phpmailer->AuthType = 'CRAM-MD5';
$phpmailer->setFrom('wordpress@wonderful.com', 'Wonderful website');
}
add_action('phpmailer_init', 'setup_pacomail');
Si vous développez en local avec http://localhost:<port>
, vous devez ajouter ce bout de code suivant :
// functions.php
...
function wonderful_wp_mail_from( $original_email_address ) {
return str_replace( 'localhost', <nom de domaine valide>, $original_email_address );
}
add_filter( 'wp_mail_from', 'wonderful_wp_mail_from' );
WordPress calcule le nom de domaine de l’expéditeur (votre site) à partir du nom de domaine du site pour éviter que les emails envoyés depuis votre site tombent dans les spams. En développement, le nom de domaine du site est localhost (sauf dans le cas d’un virtual host). Or localhost
n’est pas un nom de domaine valable. C’est pourquoi on remplace localhost
par un nom de domaine valide (pas nécessairement existant), ici wonderful.com
, mais ça pourrait être aussi localhost.dev
.
Mais nous avons déjà modifié l’expéditeur dans l’action phpmailer_init
, pourquoi le faire à nouveau dans ce filter ?
La vérification du nom de domaine se fait avant l’exécution de l’action phpmailer_init
, et malheureusement si PHPMailer déclenche une erreur, l’action phpmailer_init
n’est jamais appelée (source: https://wordpress.stackexchange.com/a/382729), contrairement au filter wp_mail_from
.
Etape 2 : Tester la configuration SMTP de votre site avec la réinitialisation de mot de passe
Nous allons modifier le functions.php et ajouter le code. Une fois la configuration terminée, nous pouvons essayer d’envoyer un email depuis notre site, par exemple la réinitialisation de mot de passe.

Si vous n’avez pas accès au functions.php ou que vous ne souhaitez pas vous occuper du code vous pouvez utiliser un plugin. Plusieurs plugins sont à votre dispositions :
Dans ce tutoriel, nous allons mettre en place Pacomail avec le plugin WP Mail SMTP.
Brancher Pacomail avec WP Mail SMTP
WP Mail SMTP est l’un des plugins SMTP les plus utilisés et réputés en accumulant à lui seul plus de 3 millions d’installations actives. Ce plugin remplace la méthode d’envoi d’email par défaut de WordPress et permet de brancher les ESP les plus utilisés comme Sendgrid, Sendinblue ou encore Mailgun, ou même votre propre serveur mail.
Etape 1 : Installer WP Mail SMTP

Etape 2 : Configurer le plugin
Une fois le plugin activé, vous êtes tout de suite redirigé vers le wizard de configuration. WP Mail SMTP propose une bonne liste d’ESP (Email Service Provider), mais ce qui nous intéresse ici est la configuration “Other SMTP”.

Une fois sélectionné, vous pouvez passer à la suite avec “Save and Continue”. Retournez ensuite dans la configuration Pacomail, récupérez la configuration SMTP et renseignez les identifiants de connexion dans les champs appropriés.

Renseignez ici les informations de l’expéditeur. Le From Email ici doit avoir le même nom de domaine de votre site pour éviter que vos email tombent dans les spams.

Vous pouvez ensuite sauter (Skip this step) les 2 prochaines étapes et sauvegarder la configuration. Si tout a bien été renseigné, le plugin envoi un email de test de configuration.

Etape 3 : Test
Nous pouvons maintenant tester la configuration SMTP, modifiable dans l’onglet Général, à notre aise depuis l’onglet Email Test dans le dashboard du plugin.

Nous allons envoyer un email de test à wonderful.user@mail.com


Cette fois-ci, vous retrouvez un email HTML dans votre boîte mail Pacomail avec comme destinataire notre utilisateur wonderful.user@mail.com.

Et voilà ! Vous pouvez désormais tester des emails transactionnels de WordPress comme la création d’un nouvel utilisateur, la réinitialisation de mot de passe ou si vous utilisez des plugins comme WooCommerce, l’envoi de facture ou de confirmation d’achat.