
📧 Comment installer et configurer SMTP dans WordPress : un guide étape par étape
Les emails de votre site n’arrivent pas aux utilisateurs? Des destinataires se plaignent que les notifications de commande ou les réinitialisations de mot de passe atterrissent dans les spams? Presque tous les propriétaires de sites WordPress rencontrent ce problème dans les premiers mois suivant le lancement.
La raison tient à la méthode d’envoi des emails par défaut. WordPress utilise la fonction mail() intégrée de PHP, et la plupart des hébergeurs ne la configurent pas correctement. Les emails partent avec des en-têtes incorrects, sans signatures DKIM, et les services de messagerie comme Gmail ou Mail.ru les expédient directement dans le dossier «Spam». Pire encore, certains emails sont tout simplement perdus, et vous ne le saurez même pas.
La solution appropriée est le SMTP. Vous le configurez une fois, et les emails de votre site commencent à arriver de manière fiable. Je vais vous montrer deux méthodes: la simple (via une extension) et la manuelle (via du code), afin que vous puissiez choisir en fonction de votre situation.
💡 Aperçu rapide:
- Vous allez comprendre pourquoi le PHP mail de WordPress n’est pas fiable et comment le SMTP résout le problème de délivrabilité
- Vous allez configurer l’envoi via l’extension Easy WP SMTP en 5 minutes, sans toucher au code
- Vous allez maîtriser la méthode manuelle via wp-config.php pour ceux qui préfèrent éviter les extensions supplémentaires
- Vous allez tester le SMTP avec un email de test et apprendre ce qu’il faut regarder pour choisir un fournisseur de messagerie
Qu’est-ce que le SMTP et pourquoi votre site perd des emails
SMTP signifie Simple Mail Transfer Protocol. En clair, c’est un protocole dédié à l’envoi d’emails qui fonctionne différemment du mail() PHP.
Quand WordPress envoie un email via la fonction standard, il le «déverse» simplement sur le système d’exploitation du serveur. Ensuite, c’est une question de chance: l’email peut partir d’un hôte sans enregistrement SPF, sans DKIM, avec une adresse From qui n’est pas la vôtre. Le service de messagerie du destinataire voit un email suspect et l’envoie en spam. Ou bien il le rejette purement et simplement, et vous ne recevez aucune notification d’erreur.
Un serveur SMTP, en revanche, établit une connexion directe avec le service de messagerie du destinataire. Il s’authentifie, transmet la signature DKIM de votre domaine et garantit que les en-têtes de l’email sont corrects. Résultat: vos emails arrivent dans la boîte de réception, pas dans les spams.
Un avantage supplémentaire est la journalisation. La plupart des extensions SMTP pour WordPress conservent un journal des emails envoyés: vous pouvez voir ce qui a été envoyé, à qui et quand. Si un email n’a pas été délivré, vous le savez immédiatement, pas une semaine plus tard par un client.
Méthode 1: Configurer le SMTP via l’extension Easy WP SMTP
La méthode la plus simple et la plus fiable pour la grande majorité des sites est d’installer une extension. Je recommande Easy WP SMTP: plus d’un demi-million d’installations actives sur WordPress.org, une note de 4,6 sur 5 et des mises à jour régulières. L’extension est gratuite et prend en charge non seulement n’importe quel serveur SMTP externe, mais aussi les intégrations directes avec Gmail, Outlook, Brevo, SendGrid, Mailgun et SendLayer, ce qui vous permet de vous connecter via API sans saisir les paramètres de port et de chiffrement.

Étape 1. Installez l’extension. Allez dans votre administration WordPress: Extensions → Ajouter. Dans la barre de recherche, tapez «Easy WP SMTP». Cliquez sur «Installer», puis sur «Activer».
Étape 2. Accédez aux paramètres. Un nouvel élément de menu Easy WP SMTP apparaît dans la barre latérale d’administration. Ouvrez-le, vous arrivez sur l’onglet «Général».
Étape 3. Renseignez les informations du serveur SMTP. Voici ce que vous devez saisir:

Adresse email d’expédition: l’adresse depuis laquelle les emails seront envoyés. Utilisez la même adresse email que celle indiquée dans vos réglages WordPress (sous Réglages → Général). La plupart des hébergeurs bloquent l’envoi depuis des adresses externes, il est donc plus prudent de ne pas prendre de risque.
Nom d’expédition: le nom d’expéditeur que les destinataires verront. Il s’agit généralement du nom de votre site, par exemple «Support NomDuSite».
Expéditeur: choisissez «Autre SMTP» si vous connectez un compte email de votre propre domaine ou de votre hébergement. Si vous utilisez Gmail / Outlook / Brevo / SendGrid, sélectionnez l’option correspondante, et l’extension vous guidera dans l’autorisation OAuth sans saisie manuelle des paramètres.

Pour l’option «Autre SMTP», remplissez:
Hôte SMTP: l’adresse de votre serveur de messagerie. Pour un hébergement, il s’agit généralement de
mail.your-domain.com. Pour les services tiers, le fournisseur vous communique l’hôte lors de la création de la boîte mail.Chiffrement: choisissez
SSL(port 465) ouTLS(port 587). Les serveurs modernes préfèrent TLS sur le port 587, mais vérifiez auprès de votre fournisseur de messagerie.Port SMTP: 465 pour SSL, 587 pour TLS. Ce sont les valeurs standard, mais votre hébergeur peut utiliser un port non standard, consultez donc sa documentation.
Authentification: activez l’interrupteur «Oui». Sans authentification, le SMTP ne fonctionnera pas.
Nom d’utilisateur SMTP et Mot de passe SMTP: l’identifiant et le mot de passe de votre boîte mail. Généralement, l’identifiant correspond à l’adresse email complète.
Étape 4. Envoyez un email de test. Faites défiler la page jusqu’à la section «Email de test». Dans le champ «Envoyer à», saisissez une adresse à laquelle vous avez accès (la vôtre convient). Remplissez les champs «Objet» et «Message» avec ce que vous voulez, par exemple «Test SMTP» et «Vérification d’envoi». Cliquez sur «Envoyer l’email de test».
Si tout est configuré correctement, une notification verte de succès apparaît en haut de l’écran. L’email arrivera à l’adresse indiquée en quelques secondes. S’il n’arrive pas, vérifiez votre dossier «Spam»; s’il n’y est pas non plus, revérifiez les paramètres d’hôte, de port et de mot de passe.
Étape 5. Activez la journalisation. Dans le sous-menu Easy WP SMTP, ouvrez l’onglet «Journal des emails» et activez l’enregistrement du journal. Désormais, chaque email envoyé sera sauvegardé dans le journal avec la date, le destinataire et le statut. Si un mois plus tard un client dit «Je n’ai jamais reçu l’email avec le code», vous pouvez ouvrir le journal et constater: l’email a bien été envoyé et délivré, le problème vient du côté du client.
Méthode 2: Configuration SMTP manuelle via wp-config.php
Cette méthode s’adresse à ceux qui ne veulent absolument pas installer d’extension pour une seule fonction. L’inconvénient est évident: pas d’interface, pas de journalisation et pas de test depuis le panneau d’administration. Toutes les modifications se font uniquement en éditant des fichiers.
Important: avant de modifier wp-config.php, assurez-vous de faire une sauvegarde de votre site. Une erreur dans ce fichier provoquera le «white screen of death», et vous ne pourrez restaurer l’accès que via FTP ou le gestionnaire de fichiers de votre hébergement.
Étape 1: Ajouter les constantes SMTP à wp-config.php
Connectez-vous à votre serveur via FTP ou via le gestionnaire de fichiers de votre hébergement. Trouvez le fichier wp-config.php à la racine du site et ajoutez le code suivant AVANT la ligne /* That's all, stop editing! Happy publishing. */:
1 // SMTP configuration for sending WordPress mail 2 define( 'SMTP_HOST', 'mail.your-domain.com' ); // SMTP server address 3 define( 'SMTP_AUTH', true ); // Enable authentication 4 define( 'SMTP_PORT', '587' ); // Port: 587 (TLS) or 465 (SSL) 5 define( 'SMTP_SECURE', 'tls' ); // Encryption: tls or ssl 6 define( 'SMTP_USERNAME', '[email protected]' ); // Mailbox login 7 define( 'SMTP_PASSWORD', 'your-password' ); // Password 8 define( 'SMTP_FROM', '[email protected]' ); // Sender address 9 define( 'SMTP_FROMNAME', 'SiteName Support' ); // Sender name
Remplacez les données par les vôtres: hôte, port, identifiant, mot de passe. Si votre fournisseur de messagerie utilise SSL sur le port 465, remplacez SMTP_PORT par '465' et SMTP_SECURE par 'ssl'.
Étape 2: Connecter les constantes à PHPMailer
Les constantes dans wp-config.php ne font rien par elles-mêmes: WordPress ne sait pas quoi en faire. Vous devez les transmettre à l’objet PHPMailer via le hook phpmailer_init. Ajoutez ce code au fichier functions.php de votre thème enfant ou via l’extension Code Snippets (recommandé, car il ne sera pas perdu lors de la mise à jour du thème):
1 /** 2 * SMTP configuration via constants from wp-config.php 3 */ 4 add_action( 'phpmailer_init', 'sdstudio_smtp_configure' ); 5 function sdstudio_smtp_configure( $phpmailer ) { 6 $phpmailer->isSMTP(); 7 $phpmailer->Host = SMTP_HOST; 8 $phpmailer->SMTPAuth = SMTP_AUTH; 9 $phpmailer->Port = SMTP_PORT; 10 $phpmailer->SMTPSecure = SMTP_SECURE; 11 $phpmailer->Username = SMTP_USERNAME; 12 $phpmailer->Password = SMTP_PASSWORD; 13 $phpmailer->From = SMTP_FROM; 14 $phpmailer->FromName = SMTP_FROMNAME; 15 }
Voici ce qui se passe: WordPress appelle le hook phpmailer_init avant chaque envoi d’email et lui transmet une instance de la classe PHPMailer. La fonction sdstudio_smtp_configure configure cet objet avec les valeurs des constantes, et l’email est envoyé via SMTP plutôt que via mail() PHP.
Si vous utilisez une boîte mail sur votre propre domaine (par exemple [email protected], créée dans le cPanel de votre hébergement), récupérez les détails de l’hôte SMTP dans le panneau de contrôle de votre hébergement. Il y a généralement une section intitulée «Connexions mail» ou «Comptes email», où l’hôte, le port et les paramètres de chiffrement sont indiqués pour chaque boîte mail.
Étape 3: Tester l’envoi
Le moyen le plus simple de tester est de déclencher un email système WordPress. Par exemple, demandez une réinitialisation de mot de passe via le formulaire de connexion (/wp-login.php → «Mot de passe oublié?»). Si l’email arrive, le SMTP fonctionne.
Pour un test plus précis, ajoutez temporairement ce code à functions.php (supprimez-le après le test):
1 add_action( 'init', function() { 2 wp_mail( '[email protected]', 'SMTP Test', 'Message sent via SMTP!' ); 3 } );
Actualisez n’importe quelle page de votre site, et un email de test sera envoyé à votre adresse. N’oubliez pas de supprimer le code après le test, sinon un email sera envoyé à chaque chargement de page.
Méthode 3: Extensions SMTP alternatives
Easy WP SMTP n’est pas la seule option. Si pour une raison quelconque elle ne vous convenait pas, voici trois autres extensions gratuites éprouvées avec des installations actives sur plus de 200 000 sites:
WP Mail SMTP: l’extension SMTP la plus populaire du dépôt WordPress (plus de 3 millions d’installations). La version gratuite connecte n’importe quel serveur SMTP. La version payante ajoute des intégrations avec SendLayer, Amazon SES, Microsoft 365 et Zoho Mail, ainsi que des journaux détaillés et des rapports d’erreurs.
Post SMTP: entièrement gratuite, avec code source ouvert. Peut envoyer des emails via SMTP, Gmail API, Microsoft 365 API, SendGrid, Mailgun, Brevo. Journal des emails intégré avec filtrage et possibilité de renvoi. Un bon choix si vous avez besoin d’un maximum de fonctionnalités sans payer.
FluentSMTP: une extension minimaliste et rapide des créateurs de FluentCRM. Prend en charge Amazon SES, Mailgun, SendGrid, SparkPost, Elastic Email et tout serveur SMTP. L’interface est plus simple que celle des concurrents, et l’extension n’a pratiquement aucun impact sur les performances du panneau d’administration.
Ces trois options ont une note de 4,5+ et sont régulièrement mises à jour. Le principe de configuration est le même partout: installez l’extension → saisissez les informations du serveur de messagerie → envoyez un email de test → activez la journalisation.
Contrairement à la méthode manuelle via wp-config.php, n’importe laquelle de ces extensions fournit au moins un journal des emails envoyés et la possibilité de tester la connexion depuis le panneau d’administration. Pour un site qui envoie plus de quelques emails par semaine, ces fonctionnalités deviennent rapidement une nécessité plutôt qu’un simple confort.
Tester le SMTP: comment s’assurer que tout fonctionne
Vous avez configuré l’extension ou le code, vérifiez maintenant le résultat. Voici une checklist en trois points qui couvre tous les problèmes possibles:
1. Email de test depuis l’extension. Si vous avez utilisé Easy WP SMTP, envoyez un test via la fonction intégrée (l’onglet «Email de test»). L’email a été envoyé et est arrivé dans la boîte de réception: excellent. Il est arrivé dans les «Spams»: vérifiez que l’«Adresse email d’expédition» indique une adresse réelle sur votre domaine (pas @gmail.com si votre site est sur your-domain.com).
2. Vérifiez les en-têtes de l’email. Ouvrez l’email de test reçu et affichez le code «original» / «source» du message (dans Gmail: trois points → «Afficher l’original»). Trouvez les lignes SPF, DKIM et DMARC. Au moins SPF: PASS doit être présent. Si les trois affichent PASS, votre délivrabilité est au maximum.
3. Vérifiez via un formulaire sur votre site. Parcourez un scénario utilisateur: remplissez un formulaire de contact, demandez une réinitialisation de mot de passe, passez une commande test dans WooCommerce. Chacune de ces actions doit générer un email: assurez-vous qu’ils arrivent tous. Si un email n’a pas été envoyé, il est probable que l’extension spécifique (Formulaires / WooCommerce) utilise sa propre méthode d’envoi qui contourne le SMTP général. C’est rare, mais vérifiez les paramètres de cette extension, il y a généralement une option «Utiliser la messagerie WordPress» ou un choix de fournisseur de messagerie.
Si vous préférez le format vidéo, ce tutoriel montre la configuration SMTP complète via l’extension WP Mail SMTP de zéro jusqu’au premier email envoyé. Le principe est le même pour toutes les extensions examinées.
⁉️🤔 Foire aux questions
Pourquoi les emails de mon site sont-ils envoyés mais arrivent dans les spams?
La raison principale est l’absence d’enregistrements DKIM et SPF pour le domaine. La fonction
mail()PHP ne signe pas les emails, et les services de messagerie voient un envoi «anonyme». Une extension SMTP envoie les emails au nom de votre serveur de messagerie, qui a déjà ces enregistrements configurés. La plupart des hébergeurs ajoutent automatiquement un enregistrement SPF de base via cPanel; DKIM et DMARC se configurent manuellement dans le panneau DNS en 10 minutes.
Quel port SMTP choisir: 465 ou 587?
Le port 587 avec chiffrement TLS est le standard IETF moderne. Le port 465 avec SSL est obsolète mais largement pris en charge. Si votre fournisseur accepte les deux, choisissez 587/TLS. Si cela ne fonctionne pas, essayez 465/SSL. En pratique, la plupart des hébergements mutualisés en 2026 fonctionnent avec les deux ports; un VPS nécessite plus souvent 587/TLS. Si vous obtenez une erreur de connexion après la configuration, la première chose à essayer est de changer le port et le chiffrement.
Puis-je utiliser un compte Gmail gratuit pour envoyer des emails depuis mon site?
Oui, mais avec une limite: 500 emails par jour pour les comptes personnels et jusqu’à 2 000 pour Google Workspace. Pour les boutiques et les sites avec espace membres, les services transactionnels sont plus fiables: Brevo (300 emails/jour gratuits), SendGrid (100/jour), Mailgun ou Amazon SES. Le moyen le plus simple de connecter Gmail est via Easy WP SMTP: sélectionnez l’expéditeur «Gmail» et effectuez l’autorisation OAuth en quelques clics.
Ai-je besoin d’une extension SMTP si mon hébergement a déjà configuré la messagerie?
Le serveur de messagerie de l’hébergement et l’envoi depuis WordPress sont deux maillons différents. L’hébergement reçoit les emails pour le domaine, mais WordPress continue d’envoyer via
mail()PHP sans authentification. Le résultat est le même: spams ou emails perdus. Une extension SMTP fait en sorte que WordPress utilise correctement le serveur de messagerie. Un test simple: ouvrez le code «original» d’un email de votre site et cherchezX-Mailer. S’il indiquePHPMailersans SMTP, vous avez besoin d’une extension.
L’extension affiche l’erreur «SMTP Error: Could not authenticate», que faire?
Trois causes fréquentes. Premièrement: le mot de passe contient des caractères spéciaux (dièse, symbole dollar, esperluette) que l’extension échappe incorrectement: passez à des caractères alphanumériques. Deuxièmement: l’hôte nécessite un port différent: permutez 587↔465 et TLS↔SSL. Troisièmement: le fournisseur bloque le trafic SMTP sortant sur l’offre mutualisée: vérifiez auprès du support. Si rien n’y fait, passez à l’intégration API: par exemple, Gmail API via OAuth est plus fiable que l’authentification par mot de passe.
Quelle méthode de configuration SMTP choisir pour votre site
La réponse dépend de trois facteurs: le volume d’emails, l’aisance technique et le budget.
Si votre site envoie jusqu’à 100 emails par jour, installez Easy WP SMTP, connectez n’importe quelle boîte mail, et réglez la question en 5 minutes. L’offre gratuite de Brevo via l’intégration API de cette même extension vous donne 300 emails par jour sans aucune configuration de port SMTP: vous vous inscrivez, obtenez une clé API, la collez dans l’extension, et c’est terminé.
Si votre site est une boutique WooCommerce avec plus de 500 commandes par mois, connectez un service transactionnel: Mailgun, SendGrid ou Amazon SES. Ils sont conçus pour l’envoi massif d’emails transactionnels et fournissent des analyses détaillées pour chaque email (délivré / ouvert / cliqué). Easy WP SMTP prend en charge les trois via API sans se soucier des ports.
Si vous êtes développeur et ne voulez pas d’extensions supplémentaires, la méthode manuelle via wp-config.php fonctionne, mais rappelez-vous: sans journalisation, vous êtes aveugle. Ajoutez au moins un fichier journal simple via le hook wp_mail_failed ou installez FluentSMTP, qui est pratiquement sans poids et fournit un journal complet des emails.
L’essentiel est de ne pas laisser WordPress avec le PHP mail standard. Cinq minutes pour installer une extension SMTP vous éviteront des commandes perdues, des demandes de support manquées et des problèmes de réputation avec un domaine que les services de messagerie ont signalé comme source de spam.



