
🔧 Pourquoi WordPress n'envoie pas d'emails et comment y remédier
Vous avez vérifié votre messagerie et n’avez rien trouvé. Pas de message de réinitialisation de mot de passe, pas de confirmation de commande, pas d’email de test depuis le formulaire de contact. Des clients contactent le support, mais les réponses n’arrivent jamais. WordPress reste muet, et vous ne comprenez pas pourquoi.
Ce problème est malheureusement bien connu de toute personne ayant lancé un site WordPress. Le serveur de messagerie par défaut passe par mail(), une fonction PHP intégrée. Les hébergeurs la bloquent souvent, et les messages finissent en spam ou ne partent tout simplement pas.
Spoiler: cela se règle en 15 à 20 minutes en configurant un serveur SMTP. Voici une analyse étape par étape des causes, des diagnostics et deux méthodes de configuration opérationnelles: via l’API Gmail et via Mailgun. Pas de panique, captures d’écran à l’appui.
💡 Aperçu rapide:
- Vérifiez si le serveur de messagerie WordPress est actif, l’extension
Check Emailmontre la situation réelle en une minute - Découvrez pourquoi
mail()n’est pas fiable et comment SMTP résout le problème - Configurez Gmail SMTP avec OAuth 2.0, pas à pas, de la Google Console jusqu’au statut vert
- Connectez Mailgun via
WP Mail SMTP, pour les sites avec du trafic qui ont besoin de plus de 100 emails par jour - Répondez aux questions courantes: pourquoi les emails partent en spam, quel port choisir, que faire en cas d’erreur d’authentification
Pourquoi WordPress n’envoie pas d’emails
WordPress utilise par défaut la fonction wp_mail(), qui appelle en interne la fonction PHP mail(). Le problème, c’est que mail() est un mécanisme basique, sans authentification. Les services de messagerie modernes comme Gmail, Yahoo et Outlook exigent un chiffrement et une vérification de l’expéditeur. Sans cela, les messages sont soit bloqués par l’hébergement, soit marqués comme spam par le destinataire.
La deuxième cause fréquente est l’absence d’enregistrements DKIM et SPF dans le DNS. Il s’agit de signatures numériques qui indiquent aux serveurs de messagerie: «l’expéditeur est légitime, le message n’est pas falsifié». Sans eux, Gmail envoie votre message directement dans le dossier «Spam».
Enfin, les extensions peuvent être en cause. Certaines solutions anti-spam et extensions de formulaire de contact interceptent la file d’attente d’emails et bloquent les envois «suspects». C’est particulièrement vrai pour les envois en masse, pour lesquels mail() est fondamentalement inadapté.
Comment vérifier le fonctionnement du serveur de messagerie WordPress
Avant de vous plonger dans les paramètres SMTP, écartez le scénario où mail() est inopérant. L’extension Check Email fait exactement cela: elle envoie un message de test via le mécanisme standard de WordPress et affiche le résultat.
Installez Check Email depuis le dépôt WordPress (Extensions → Ajouter → tapez «Check Email»), activez-la et allez dans Outils → Check Email. Saisissez votre adresse, cliquez sur «Envoyer un email de test», et en quelques secondes vous verrez un rapport.

Vérifiez les dossiers «Boîte de réception» et «Spam». Si le message est arrivé, mail() fonctionne et le problème vient d’une extension spécifique (formulaire de contact, WooCommerce). Contactez le support de cette extension. S’il n’y a pas de message, mail() est bloqué par l’hébergement et vous avez besoin de SMTP.
Comment configurer SMTP via Gmail dans WordPress
SMTP (Simple Mail Transfer Protocol) est un protocole avec authentification et chiffrement. Contrairement à la fonction brute mail(), les emails envoyés via SMTP passent une vérification d’identité, ne sont pas bloqués par l’hébergement et finissent rarement en spam.
La première méthode est l’extension Gmail SMTP, qui connecte WordPress directement à votre compte Google via OAuth 2.0. Elle compte plus de 100 avis sur WordPress.org et bénéficie de mises à jour régulières. La version gratuite permet d’envoyer jusqu’à 100 emails par jour, ce qui est suffisant pour un petit site ou un blog.
Installez Gmail SMTP depuis le dépôt WordPress officiel, activez-la.

Ensuite, vous avez besoin de Google Cloud Console. Allez sur console.cloud.google.com, créez un nouveau projet.

Dans le menu latéral, sélectionnez «API et services» → «Identifiants», cliquez sur «Créer des identifiants» et choisissez «ID client OAuth». Le système vous demandera de configurer l’écran de consentement, indiquez le type «Externe» et remplissez les champs obligatoires (nom de l’application, email d’assistance). Cliquez sur «Enregistrer et continuer».

Revenez à la création de l’ID client OAuth: le type d’application est «Application Web», le nom est «Gmail SMTP».

Revenez maintenant à l’administration WordPress: dans les paramètres de l’extension Gmail SMTP, copiez l’URL de redirection autorisée.

Retournez dans la console Google, collez l'URL copiée dans le champ «Authorized redirect URIs», puis enregistrez. Après l'enregistrement, une fenêtre contenant le Client ID et le Client Secret apparaîtra: copiez ces deux valeurs et collez-les dans les champs correspondants du plugin.
Indiquez l'adresse Gmail à partir de laquelle les emails seront envoyés (la même que celle utilisée pour créer le projet), remplissez le champ «From Email Address», définissez le «From Name» (le nom de votre site). Le port SMTP est 587 pour TLS. Si vous utilisez un certificat SSL, indiquez 465. Cliquez sur «Save Changes», puis sur «Grant Permission» et finalisez l'authentification Google.

Une fois l'autorisation accordée avec succès, le plugin affiche un statut vert «Connected». Envoyez un email de test: s'il arrive, tout est en ordre.
Comment configurer Mailgun pour l'envoi d'emails dans WordPress
Si votre site a besoin de plus de 100 emails par jour et que vous recherchez une infrastructure de distribution fiable, intéressez-vous à Mailgun. Il s'agit d'un service de messagerie pour développeurs avec une offre gratuite jusqu'à 100 emails par jour (la réception est gratuite), et les plans payants démarrent à 35 $ par mois pour 50 000 emails. Son principal atout est l'analyse détaillée de la délivrabilité: vous pouvez voir si un email a été ouvert ou non, et s'il est arrivé en spam.

Inscrivez-vous sur mailgun.com. Après avoir créé un compte, ajoutez un domaine: Mailgun vous invitera à saisir un sous-domaine (par exemple, mg.your-site.com) et vous fournira les enregistrements DNS: TXT pour la vérification, MX pour le routage des emails et CNAME pour le suivi des ouvertures.
Connectez-vous à votre panneau d'hébergement (cPanel, ISPmanager ou équivalent), ouvrez l'éditeur DNS et ajoutez les enregistrements fournis par Mailgun:
- Enregistrement TXT: le nom est votre sous-domaine, le type est TXT, le TTL est 14400, la valeur TXT est celle indiquée dans le panneau Mailgun
- Enregistrement MX: dans la section «MX Entry», saisissez la priorité et la destination fournies par Mailgun
- CNAME: pour le suivi des ouvertures et des clics
La propagation DNS peut prendre de quelques minutes à 48 heures. Vérifiez le statut dans la section «Domains» du panneau Mailgun: lorsqu'il passe à «Active», vous pouvez continuer.
Pour connecter Mailgun à WordPress, installez WP Mail SMTP, le plugin SMTP le plus populaire avec plus de 3 millions d'installations actives. Allez dans Réglages → WP Mail SMTP, dans «From Email» indiquez une adresse sur votre domaine, dans «From Name» le nom de votre site. Dans le champ «Mailer», sélectionnez «Mailgun».

Collez la clé API privée disponible dans le panneau Mailgun (section «API Keys») ainsi que le nom de domaine que vous avez enregistré. Activez l'option «Set the return path to match the From Email»: cela aligne l'adresse de retour et réduit le risque d'arriver en spam. Cliquez sur «Save Settings» et envoyez un test via l'onglet «Email Test».
Tutoriel vidéo: configurer SMTP dans WordPress
Si vous préférez la vidéo à la lecture, voici un tutoriel vidéo sur la configuration de SMTP dans WordPress, de l'installation du plugin au premier email envoyé:
⁉️🤔 Foire aux questions
Pourquoi les emails envoyés par WordPress arrivent-ils en spam même avec SMTP configuré?
Le problème vient le plus souvent de l'absence des enregistrements SPF et DKIM dans le DNS du domaine. Sans eux, le serveur de messagerie du destinataire ne peut pas vérifier que votre serveur est autorisé à envoyer des emails depuis ce domaine. Ajoutez un enregistrement TXT SPF (
v=spf1 include:_spf.google.com ~allpour Gmail ou l'équivalent pour Mailgun) et une clé DKIM depuis le panneau de votre service d'envoi. Le deuxième facteur est la réputation de l'IP: sur un hébergement bon marché, l'adresse IP a pu être signalée pour des envois de spam avant vous.
Quel port SMTP choisir: 587 ou 465?
Le port
587avec TLS est le standard moderne recommandé par l'IETF pour la soumission d'emails par les clients. Le port465avec SSL est une alternative obsolète encore prise en charge par de nombreux fournisseurs pour des raisons de compatibilité. Utilisez le587avec TLS, sauf si le service d'envoi exige explicitement le465.
Le plugin SMTP Gmail donne une erreur d'authentification. Que faire?
Les trois causes les plus fréquentes: les URL de redirection ne correspondent pas (vérifiez que la même adresse est bien renseignée dans la Google Console et dans le plugin), l'application dans Google Cloud est en statut «Test» (passez-la en «Production» ou ajoutez votre adresse Gmail à la liste des utilisateurs de test), ou la validation en deux étapes Google est activée sans mot de passe d'application (créez un mot de passe d'application dans les paramètres de sécurité Google).
Puis-je envoyer des mailings en nombre via le SMTP Gmail?
Non. Gmail applique des limites strictes: 100 emails par jour via le plugin
Gmail SMTP, jusqu'à 2000 via Google Workspace. Pour l'email marketing et les envois réguliers, utilisez Mailgun, Brevo (anciennement Sendinblue) ou SendGrid, qui proposent des intégrations WordPress et une infrastructure de délivrabilité dédiée.
Ai-je besoin d'un forfait Mailgun payant pour un petit site?
L'offre gratuite de Mailgun (100 emails par jour) suffit pour un site moyen: notifications de commande WooCommerce, réinitialisations de mot de passe, confirmations d'inscription, emails de formulaire de contact. Un forfait payant se justifie quand le volume quotidien dépasse la centaine ou que vous avez besoin d'analyses d'ouverture avec une conservation des logs supérieure à 24 heures.
Pourquoi ne devrais-je pas me contenter de la fonction mail() intégrée à WordPress?
La fonction
mail()n'authentifie pas l'expéditeur, ne chiffre pas la connexion et n'ajoute pas les signatures DKIM/SPF. La plupart des hébergeurs la bloquent au niveau du serveur (en raison du risque d'attaques de spam) ou font transiter le trafic via des IP partagées à la réputation médiocre. Résultat: les emails n'arrivent pas dans une proportion significative des cas, et ceux qui arrivent sont souvent marqués comme spam.
Est-ce que cela vaut la peine de passer à SMTP maintenant
Si les emails de réinitialisation de mot de passe ne partent pas de votre site, que vos clients ne reçoivent pas les notifications de commande et que le formulaire de contact reste muet, la réponse est claire: vous avez besoin de SMTP dès aujourd'hui. La question n'est pas de savoir si cela en vaut la peine, mais lequel choisir précisément.
Pour un blog personnel et une page d'atterrissage, la combinaison Gmail SMTP avec votre compte Gmail est suffisante. Configurez-la en 20 minutes et n'y pensez plus. Pour un site avec des produits, des cours ou des utilisateurs, optez pour WP Mail SMTP avec Mailgun: l'offre gratuite couvre les besoins d'une boutique en ligne type, et les analyses de délivrabilité vous alerteront en cas de problème.
Ne tardez pas. Pendant que vous lisez ce paragraphe, le client de quelqu'un n'a pas reçu son email de confirmation. SMTP règle ce problème une fois pour toutes.



