Quand WordPress n’envoie pas les mails, c’est presque toujours parce qu’il les expédie lui-même, avec la fonction mail() de PHP, sans jamais prouver qui il est. Les messageries de vos clients s’en méfient, les refusent ou les rangent dans les indésirables. La solution tient en trois gestes : installer une extension SMTP comme WP Mail SMTP, la brancher sur une adresse de votre domaine, puis tester chaque type d’e-mail que le site envoie.
Ce guide vous montre d’où vient la panne, par où faire partir vos e-mails, comment régler l’extension et comment lire ses messages d’erreur. Si le temps vous manque, c’est une intervention courante en dépannage WordPress.
Les e-mails que votre site envoie sans que vous les voyiez
Un site WordPress envoie bien plus de messages qu’on ne le pense, et chacun peut tomber en panne sans bruit :
- les demandes de vos formulaires de contact, de devis ou de réservation ;
- les liens de réinitialisation de mot de passe, pour vous comme pour vos clients (voir impossible de se connecter à WordPress) ;
- les e-mails de boutique : confirmation de commande au client, alerte « nouvelle commande » pour vous, expédition, remboursement ;
- les notifications d’administration : nouvel utilisateur, commentaire en attente, mise à jour automatique réussie ou ratée ;
- l’e-mail de secours envoyé quand le site plante.
Pourquoi WordPress n’envoie pas les mails
Il expédie avec la fonction mail() de PHP
Pour envoyer un e-mail, WordPress passe par sa fonction wp_mail(). Sans réglage particulier, celle-ci confie le message à la fonction mail() de PHP : c’est le serveur web qui expédie, sans se connecter à aucune boîte mail. Certains hébergeurs désactivent cette fonction ou la limitent fortement, justement parce que les robots de spam s’en servent. Le site affiche alors une erreur, ou rien du tout.
Le message part d’un serveur partagé, sans preuve d’identité
Quand mail() fonctionne, le message quitte une machine partagée entre des centaines de sites. Gmail, Outlook ou Orange reçoivent un e-mail qui se réclame de votre domaine mais arrive d’un serveur que votre domaine n’a jamais déclaré. Faute de preuve, ils le refusent ou le rangent dans les indésirables.
L’adresse d’expédition n’est pas la bonne
Par défaut, WordPress signe ses messages [email protected], une adresse qui n’existe souvent pas. Les extensions de formulaire ou WooCommerce peuvent aussi afficher une adresse Gmail ou Orange comme expéditeur. Les messageries y voient une usurpation, et la règle DMARC du domaine concerné leur demande de bloquer.
Le domaine ne publie ni SPF, ni DKIM, ni DMARC
Ces trois enregistrements, placés dans la zone DNS de votre domaine, disent aux messageries quels serveurs peuvent écrire en votre nom et comment vérifier la signature des messages. Sans eux, même un envoi propre finit souvent en indésirables. Leur rôle est détaillé dans notre article sur le formulaire de contact WordPress qui ne fonctionne pas.
Un réglage SMTP qui a cessé de fonctionner
Dernier cas, très fréquent : le SMTP était en place et il s’est arrêté. Le mot de passe de la boîte mail a changé, l’autorisation donnée à Google ou Microsoft a expiré, l’hébergeur a fermé un port, ou une mise à jour a désactivé l’extension. Le site continue d’afficher « message envoyé » pendant que plus rien ne part.
Un WordPress qui vous inquiète ? Thomas regarde avec vous.
Le SMTP en deux minutes
SMTP est le protocole que les serveurs de messagerie utilisent pour se transmettre les e-mails. En SMTP authentifié, votre site ne glisse plus sa lettre dans la première boîte venue : il la dépose au guichet de votre messagerie, pièce d’identité en main, c’est-à-dire avec l’identifiant et le mot de passe d’une adresse de votre domaine. Le message part alors du même serveur que vos e-mails habituels, celui que votre domaine a déclaré dans son SPF et qui signe avec DKIM.

WordPress ne sait pas faire du SMTP seul : il lui faut une extension. Les plus répandues sont WP Mail SMTP, FluentSMTP et Post SMTP. Elles remplacent l’envoi par défaut pour tous les e-mails du site, formulaires, WooCommerce et notifications compris.
Par où faire partir les e-mails de votre site
Avant de régler l’extension, choisissez le service qui enverra vos messages. Pour un site vitrine qui reçoit quelques demandes par jour, la boîte mail de votre domaine suffit. Pour une boutique ou un site qui envoie beaucoup, un service d’envoi spécialisé est plus sûr.
| Option | Pour qui | Points d’attention |
|---|---|---|
| La messagerie de votre hébergeur (o2switch, OVHcloud, IONOS…) | Site vitrine, formulaires, peu d’envois | Réglage simple (serveur, port, identifiant). Quotas d’envoi par heure selon l’hébergeur. |
| Google Workspace (Gmail professionnel) | Entreprise déjà sur Gmail avec son domaine | Connexion par OAuth ou mot de passe d’application ; le simple mot de passe ne suffit plus. |
| Microsoft 365 (Outlook professionnel) | Entreprise déjà sur Outlook avec son domaine | Microsoft abandonne la connexion par simple mot de passe : privilégier l’OAuth proposé par l’extension. |
| Service d’envoi transactionnel (Brevo, Mailjet, Mailgun, Amazon SES…) | Boutique, réservations, envois nombreux | Historique détaillé des envois, bonne délivrabilité ; demande d’ajouter leurs enregistrements dans votre DNS. |
Dans tous les cas, l’adresse d’expédition doit appartenir à votre domaine, et le service choisi doit être déclaré dans votre enregistrement SPF.
Configurer le SMTP dans WordPress avec WP Mail SMTP, pas à pas
WP Mail SMTP est l’extension la plus installée pour cet usage, et sa version gratuite suffit pour un site vitrine. Les étapes se transposent facilement à FluentSMTP ou Post SMTP.
1. Préparez une adresse d’expédition de votre domaine
Créez, ou choisissez, une adresse du type [email protected] ou [email protected], et notez son mot de passe. Récupérez chez l’hébergeur de cette messagerie les paramètres d’envoi : nom du serveur SMTP, port et chiffrement. Ils figurent dans l’espace client, souvent sous « configurer un logiciel de messagerie ».
2. Installez l’extension
Dans l’administration, menu Extensions, puis « Ajouter une extension », cherchez WP Mail SMTP, installez-la et activez-la. Un assistant de configuration se lance. Si une autre extension d’envoi est déjà active, désactivez-la : deux extensions qui se disputent l’envoi, c’est une panne assurée.
3. Choisissez le mode d’envoi
L’assistant propose une liste de services. Choisissez celui de votre fournisseur s’il y figure (Google, Microsoft, Brevo…), sinon « Autre SMTP » pour la messagerie de votre hébergeur. Les services connus se branchent par une autorisation ou une clé d’accès, sans mot de passe à recopier.
4. Renseignez les réglages SMTP
Pour « Autre SMTP », voici les réglages types et les pièges de chacun :

WP Mail SMTP enregistre ce mot de passe dans la base de données du site. Il est possible de le déclarer plutôt dans le fichier wp-config.php, à l’abri de l’administration : c’est plus sûr, et c’est ce que je fais sur les sites que je maintiens.
5. Imposez l’adresse d’expédition
Dans les réglages, renseignez l’adresse d’expédition (la même que l’identifiant) et le nom affiché, par exemple le nom de votre entreprise. Cochez l’option qui impose cette adresse à tous les e-mails du site : les formulaires et WooCommerce ne pourront plus envoyer au nom d’une adresse étrangère. L’adresse du visiteur passe dans le champ « Répondre à », géré par l’extension de formulaire.
6. Envoyez un e-mail de test
Dans le menu WP Mail SMTP, rubrique Outils, onglet « Test d’e-mail », envoyez un message vers une adresse personnelle. L’extension affiche soit une confirmation, soit l’erreur renvoyée par le serveur, en clair. C’est cette erreur qu’il faut lire, avec le tableau de la partie suivante.
7. Gardez une trace des envois
Un journal des e-mails enregistre chaque envoi avec son statut. Chez WP Mail SMTP, il fait partie de la version payante ; FluentSMTP, gratuit, en propose un. Le jour où un client affirme n’avoir rien reçu, vous savez en une minute si le message est parti.
Les messages d’erreur SMTP et ce qu’ils veulent dire
Les extensions SMTP s’appuient sur PHPMailer, la bibliothèque d’envoi de WordPress. Ses messages sont en anglais, mais chacun pointe vers une cause précise.
| Message affiché | Ce qu’il veut dire | Que vérifier |
|---|---|---|
SMTP connect() failed |
Le site n’arrive pas à joindre le serveur d’envoi | Nom du serveur, port et chiffrement (465 avec SSL, 587 avec TLS) |
Connection timed out |
Le port est bloqué en sortie | Autre port, ou demander à l’hébergeur du site s’il bloque les connexions SMTP sortantes |
Could not authenticate ou 535 Authentication failed |
Identifiant ou mot de passe refusé | Adresse complète en identifiant, mot de passe de la boîte, mot de passe changé récemment |
Could not instantiate mail function |
La fonction mail() de PHP est désactivée | Normal sans SMTP : c’est le signe qu’il faut en configurer un |
Sender address rejected ou 553 not owned by user |
L’expéditeur n’est pas l’adresse connectée | Adresse d’expédition identique à l’identifiant, option « forcer » cochée |
certificate verify failed |
Le nom du serveur ne correspond pas à son certificat | Utiliser le nom de serveur exact donné par l’hébergeur |
421, 450 ou rate limit |
Quota d’envoi dépassé | Limites de la messagerie ; passer à un service d’envoi si le site envoie beaucoup |
550 5.7.1 avec SPF ou DMARC |
Le destinataire rejette au nom de ses règles | Enregistrements SPF, DKIM et DMARC du domaine |
Vérifier que vos e-mails arrivent vraiment
Un test réussi prouve que le message est parti, pas qu’il est bien rangé à l’arrivée. Trois vérifications complètent l’essai de l’extension :
- Regardez les en-têtes du message reçu. Dans Gmail, le menu « Afficher l’original » indique si SPF, DKIM et DMARC sont validés (PASS) ou en échec (FAIL).
- Mesurez la délivrabilité. Un service comme mail-tester fournit une adresse temporaire : envoyez-y un message depuis le site et il vous rend une note sur 10, avec les défauts à corriger.
- Testez chaque type d’e-mail, pas seulement le message d’essai : un envoi de formulaire, une demande de nouveau mot de passe, et une commande de test si vous avez une boutique.

WooCommerce : quand ce sont les mails de commande qui manquent
Une boutique envoie ses propres e-mails, réglés dans WooCommerce, onglet « E-mails » des réglages. Si le SMTP fonctionne pour le reste du site mais que les commandes restent muettes, regardez :
- que chaque e-mail est activé et que l’alerte « Nouvelle commande » part vers une adresse que vous lisez ;
- l’adresse d’expédition de WooCommerce, en bas du même écran : elle doit appartenir à votre domaine, ou être imposée par l’extension SMTP ;
- le statut de la commande. WooCommerce n’envoie ses e-mails qu’au passage d’un statut à un autre. Une commande restée « en attente de paiement », parce que la banque ou Stripe n’a pas confirmé le paiement au site, ne déclenche ni la confirmation au client, ni l’alerte pour vous.
Dans ce dernier cas, c’est le module de paiement qu’il faut réparer.

Le jour où ça recasse
Le SMTP n’est pas un réglage qu’on pose une fois pour toutes. Il casse quand le mot de passe de la boîte change, quand l’autorisation Google ou Microsoft expire, quand vous changez d’hébergeur ou de messagerie, ou quand une extension de sécurité bloque les connexions sortantes.
La parade : un e-mail de test chaque mois, et après chaque mise à jour, changement de mot de passe ou modification du DNS. Dans la maintenance WordPress que je propose, ce test fait partie des vérifications mensuelles, avec le formulaire de contact et, pour les boutiques, une commande d’essai. Avec l’hébergement WordPress d’ArWeb, l’envoi authentifié et les enregistrements SPF, DKIM et DMARC sont réglés dès la mise en ligne.
Questions fréquentes
Pourquoi WordPress n’envoie-t-il pas de mail alors que le site fonctionne ?
Parce que l’envoi d’e-mails ne dépend pas de l’affichage des pages. Par défaut, WordPress expédie avec la fonction mail() de PHP, que beaucoup d’hébergeurs limitent et que les messageries jugent peu fiable. Une extension SMTP branchée sur une adresse de votre domaine règle le problème dans la grande majorité des cas.
La version gratuite de WP Mail SMTP suffit-elle ?
Pour un site vitrine, oui : elle gère l’envoi SMTP, les principaux services d’envoi et l’e-mail de test. La version payante ajoute surtout le journal des e-mails, les alertes en cas d’échec et d’autres services d’envoi. FluentSMTP, entièrement gratuit, inclut un journal.
Port 465 ou port 587 : lequel choisir ?
Les deux fonctionnent s’ils sont ouverts : 465 avec le chiffrement SSL/TLS, 587 avec STARTTLS. Prenez celui qu’indique votre fournisseur de messagerie. Évitez le port 25, souvent bloqué par les hébergeurs.
Peut-on envoyer les e-mails du site depuis une adresse Gmail gratuite ?
C’est déconseillé. Un message qui se présente comme venant d’une adresse Gmail sans passer par les serveurs de Google échoue aux contrôles, et configurer l’envoi par le compte Gmail lui-même reste fragile. Une adresse de votre domaine est plus fiable, et elle inspire davantage confiance à vos clients.
Mon hébergeur dit qu’il envoie les e-mails : ai-je besoin d’une extension SMTP ?
Certains hébergements WordPress configurent un envoi authentifié directement sur le serveur. Dans ce cas, une extension n’est pas indispensable, mais vérifiez par un test et par les en-têtes d’un message reçu que SPF, DKIM et DMARC sont bien validés.
Vos e-mails n’arrivent plus, ou vous avez un doute sur les commandes et les demandes perdues ? Faire réparer l’envoi des e-mails de mon site : je trouve la cause, je configure un envoi authentifié et je teste chaque e-mail avec vous. Devis gratuit et sans engagement, réponse sous 48 h ouvrées.





