En bref :
- Les emails WooCommerce n’arrivent pas presque toujours à cause de la fonction mail() PHP de l’hébergeur, et non de WooCommerce lui-même.
- Vos emails partent en spam ou sont bloqués faute d’enregistrements DNS corrects (SPF, DKIM).
- La solution efficace : installer un plugin SMTP et le connecter à un service d’envoi dédié (Brevo, Mailjet, SendGrid…).
- Testez d’abord l’envoi depuis l’admin WordPress avant de toucher à quoi que ce soit.
Un client passe commande sur votre boutique WooCommerce. Vous voyez la commande dans le tableau de bord, le paiement est validé — mais lui ne reçoit aucune confirmation. Il vous contacte deux heures plus tard, inquiet. Vous vérifiez, tout est en ordre côté WooCommerce, et pourtant l’email n’est jamais arrivé. Ce scénario se produit bien plus souvent qu’on ne le pense, et dans la grande majorité des cas, la solution n’est ni compliquée ni coûteuse.
Ce guide s’adresse aux gérants de TPE et PME qui utilisent WooCommerce et font face à ce problème — de façon occasionnelle ou systématique. Je vais vous expliquer pourquoi ça arrive, comment identifier rapidement la cause sur votre site, et quelles actions mettre en place — sans avoir besoin d’être développeur.
Pourquoi les emails WooCommerce n’arrivent pas
Avant de chercher la panne, il faut comprendre comment WordPress et WooCommerce envoient leurs emails. Par défaut, WordPress utilise la fonction mail() de PHP, intégrée à votre hébergeur. Cette méthode fonctionne sur le papier, mais elle est aujourd’hui considérée comme non fiable par la plupart des serveurs de messagerie : les emails envoyés de cette façon ont un fort risque d’être classés comme spam, ou carrément rejetés à la réception.
La fonction mail() PHP, première cause à écarter
Votre hébergeur (OVH, o2switch, Infomaniak, Ionos…) dispose d’un serveur mail intégré que WordPress utilise par défaut. Le problème : ces serveurs ne sont pas configurés pour envoyer des emails d’application avec des en-têtes corrects (SPF, DKIM, DMARC). Résultat, les boîtes de messagerie comme Gmail, Outlook ou Yahoo refusent ou filtrent silencieusement ces messages, sans que vous en soyez informé.
Vos emails partent en spam sans que vous le sachiez
Dans certains cas, l’email part bien de votre site, mais il atterrit directement dans le dossier spam de votre client — et personne ne le signale. Le problème peut rester invisible pendant des semaines. C’est particulièrement fréquent quand votre domaine n’a pas d’enregistrement SPF ou DKIM correctement configuré dans votre zone DNS.
Un plugin ou une mise à jour qui a tout cassé
Un plugin de cache, un plugin de sécurité ou une mise à jour WordPress peut, dans certains cas, interférer avec la fonction d’envoi d’emails. J’ai traité des situations où un plugin mis à jour sans précaution avait silencieusement cassé l’envoi des emails de commande — sans message d’erreur visible dans l’interface.
Les paramètres WooCommerce mal configurés
WooCommerce dispose de ses propres réglages pour les emails : adresse d’expéditeur, nom affiché, types d’emails activés. Il arrive que ces paramètres soient incorrects — notamment l’adresse d’expédition, qui peut être filtrée si elle ne correspond pas au domaine d’envoi. Accéder à WooCommerce → Réglages → Emails devrait être l’une de vos premières vérifications.
Diagnostic pas à pas : trouver la cause sur votre site
Avant de modifier quoi que ce soit, il faut comprendre ce qui se passe réellement. Voici comment procéder méthodiquement, sans risquer de casser autre chose.
Étape 1 — Vérifier les réglages emails de WooCommerce
Rendez-vous dans WooCommerce → Réglages → Emails. Vérifiez que les emails clés sont bien activés : confirmation de commande, notification d’administration pour nouvelle commande, et email de traitement. Assurez-vous que l’adresse d’expéditeur correspond bien à votre domaine (par exemple contact@votremarque.fr) et non à une adresse générique WordPress.
Étape 2 — Envoyer un email de test
Dans WooCommerce, chaque type d’email dispose d’un bouton « Envoyer un e-mail de test ». Utilisez-le depuis WooCommerce → Réglages → Emails → [cliquez sur un type d’email]. Si vous ne recevez pas cet email de test, le problème vient de la configuration d’envoi de votre serveur. Si vous le recevez, le problème peut être plus ponctuel — lié à certaines commandes ou certains destinataires.
Si l’email de test arrive dans vos spams, vérifiez la configuration DNS de votre domaine. Un outil comme MXToolbox (en ligne et gratuit) vous permet de vérifier vos enregistrements SPF, DKIM et DMARC en quelques secondes — leur absence compromet la délivrabilité même après installation d’un plugin SMTP.
Étape 3 — Utiliser un plugin de logs d’emails
Par défaut, WordPress ne conserve aucune trace des emails envoyés. Installez un plugin comme WP Mail Log ou Email Log pour voir si les emails partent réellement, à quelle adresse, et si des erreurs sont détectées à l’envoi. Cette étape est souvent révélatrice : on découvre parfois que les emails sont bien envoyés mais vers une mauvaise adresse, ou qu’ils échouent silencieusement côté PHP.
Les logs affichent l’horodatage, l’adresse destinataire, l’objet et un statut (succès ou erreur). Si vous voyez des entrées en échec, le message d’erreur contient l’information clé : timeout SMTP, authentification échouée, hôte introuvable, quota dépassé…
Les solutions pour que les emails arrivent à coup sûr
Installer un plugin SMTP
C’est la solution la plus efficace et la plus durable. Un plugin SMTP remplace la fonction mail() de PHP par un vrai protocole d’envoi authentifié. Les plus utilisés sont WP Mail SMTP (solution très complète avec interface guidée et nombreuses intégrations) et FluentSMTP (gratuit, léger, et suffisant pour la plupart des besoins). Ces plugins se configurent en quelques minutes depuis l’administration WordPress.
Choisir un service d’envoi fiable
Le plugin SMTP a besoin d’un service qui route réellement vos emails. Parmi les options sérieuses : Brevo (anciennement Sendinblue, offre gratuite généreuse), Mailjet, SendGrid, ou Amazon SES pour des volumes plus importants. Ces services gèrent eux-mêmes la réputation d’envoi, les enregistrements SPF/DKIM, et offrent des tableaux de bord pour suivre les taux de livraison.
Si vous avez des soucis de spam en parallèle sur votre site — par exemple via des formulaires de contact —, sachez que la configuration SMTP résout souvent les deux problèmes d’un coup. J’ai un guide dédié si vous cherchez à bloquer le spam sur vos formulaires WordPress sans perdre de vraies demandes.
Vérifier et corriger les enregistrements DNS
Une fois le plugin SMTP configuré avec votre service d’envoi, assurez-vous que les enregistrements DNS de votre domaine sont correctement renseignés. Votre prestataire d’envoi vous donnera les valeurs SPF et DKIM à ajouter dans votre zone DNS — souvent gérable depuis l’interface de votre hébergeur. C’est une étape que la plupart des gens oublient, et qui explique pourquoi certains emails continuent de partir en spam malgré le plugin installé.
| Cause | Symptôme observable | Solution |
|---|---|---|
| Fonction mail() PHP non fiable | Emails non reçus ou classés en spam | Installer un plugin SMTP (WP Mail SMTP ou FluentSMTP) |
| DNS mal configurés (SPF/DKIM absents) | Emails rejetés ou filtrés par Gmail/Outlook | Ajouter les enregistrements DNS fournis par le service d’envoi |
| Paramètres WooCommerce incorrects | Emails désactivés ou expéditeur incorrect | Vérifier WooCommerce → Réglages → Emails |
| Conflit de plugin | Emails stoppés après une mise à jour | Désactiver les plugins récents un par un et tester |
| Adresse expéditeur inadaptée | Emails filtrés côté destinataire | Utiliser une adresse @votre-domaine.fr comme expéditeur |
Vous avez suivi ces étapes mais le problème persiste ?
Réserver un appel gratuitLes erreurs à éviter lors du diagnostic
Ne jamais désactiver tous les plugins d’un coup pour tester. Si votre boutique est en production, une désactivation globale peut casser la navigation ou le paiement. Désactivez-les un par un, en commençant par les plus récemment installés ou mis à jour.
Ne pas confondre « email non reçu » et « email non envoyé ». Ce sont deux problèmes distincts. Les logs d’emails vous diront si l’envoi a bien eu lieu côté WordPress — et si oui, c’est le prestataire de messagerie du destinataire qui filtre, pas votre site.
Ne pas ignorer les bounces. Certains services d’envoi vous notifient quand un email rebondit (bounce). Ces notifications sont précieuses : elles indiquent si l’adresse du client est invalide, si votre domaine est blacklisté, ou si le serveur destinataire refuse vos messages.
Enfin, si votre site WordPress présente d’autres symptômes — lenteurs inhabituelles, erreurs intermittentes — il est possible que les problèmes soient liés. Un site surchargé peut avoir du mal à déclencher les hooks WooCommerce qui envoient les emails. J’en parle dans mon guide sur les causes d’un site WordPress lent.
Quand faire appel à un professionnel
La configuration SMTP et les réglages DNS sont accessibles à la plupart des utilisateurs avec un peu de patience. Mais certaines situations sont plus complexes : hébergeur qui bloque les connexions SMTP sortantes, conflits entre plugins difficiles à isoler, configuration WordPress Multisite, ou besoin d’un audit complet de la délivrabilité.
Si vous avez l’impression de tourner en rond — que les emails arrivent parfois et parfois non, ou que vous n’arrivez pas à identifier la cause malgré le diagnostic — c’est le bon moment pour demander un regard extérieur. Un problème non résolu d’emails de commande a un impact direct sur votre satisfaction client et potentiellement sur vos ventes.
La principale raison est l’absence de configuration SMTP et d’enregistrements DNS corrects (SPF, DKIM). WordPress utilise par défaut la fonction mail() de PHP, qui n’est pas authentifiée et donc facilement filtrée par les boîtes de réception modernes. La solution : installer un plugin SMTP et configurer les enregistrements DNS avec votre prestataire d’envoi.
Allez dans WooCommerce → Réglages → Emails, cliquez sur un type d’email (ex : Confirmation de commande), puis utilisez le bouton Envoyer un e-mail de test. Si vous ne le recevez pas, installez un plugin de logs d’emails comme WP Mail Log pour voir ce qui se passe réellement côté envoi.
WP Mail SMTP est la référence, avec une interface guidée et de nombreuses intégrations. FluentSMTP est une excellente alternative gratuite, légère et sans limitation. Dans les deux cas, vous aurez besoin de les connecter à un service d’envoi externe comme Brevo, Mailjet ou SendGrid.
Oui, certains hébergeurs bloquent les connexions SMTP sortantes sur leur infrastructure partagée, ou leur serveur mail interne est blacklisté. Si votre plugin SMTP ne parvient pas à se connecter malgré une configuration correcte, contactez le support de votre hébergeur pour vérifier si le port SMTP (587 ou 465) est bien ouvert.
Oui, complètement. Les emails de commande (confirmation, expédition, facture…) sont des emails transactionnels envoyés automatiquement par WooCommerce. Ils ne passent pas par votre outil d’emailing habituel (Mailchimp, Brevo…) mais par la configuration mail de WordPress. C’est pourquoi une configuration SMTP dédiée est indispensable.
Conclusion
Les emails WooCommerce qui n’arrivent pas sont l’un des problèmes les plus fréquents sur les boutiques en ligne WordPress — et heureusement, l’un des plus simples à corriger une fois la cause identifiée. Dans la quasi-totalité des cas, la solution passe par l’installation d’un plugin SMTP couplé à un service d’envoi fiable, complété par la vérification de vos enregistrements DNS.
Si vous avez d’autres soucis sur votre boutique — lenteurs, tentatives de piratage, maintenance qui tourne mal — les guides de ce blog peuvent vous aider à progresser étape par étape. Si vous souhaitez aller plus loin sur la sécurité, j’ai aussi rédigé un guide complet sur que faire quand un site WordPress est piraté.