Les e-mails de commande WooCommerce n’arrivent pas
Une commande passe, mais ni vous ni le client ne recevez d’e-mail : c’est l’un des cas les plus fréquents que je traite sur WooCommerce, et la cause n’est presque jamais WooCommerce lui-même. Le plugin génère le message correctement dans l’immense majorité des cas ; c’est son transport vers la boîte de réception qui échoue, souvent sans qu’aucune erreur ne remonte dans votre tableau de bord.
Comment je procède
-
Vérification des réglages WooCommerce
Je commence par WooCommerce > Réglages > Emails : je vérifie que le type d’e-mail concerné (nouvelle commande, en cours, terminée…) est bien activé et que le champ « destinataire(s) » contient la bonne adresse, sans espace ni typo.
-
Lecture des journaux WooCommerce
J’ouvre WooCommerce > Statut > Journaux. Si un plugin provoque une erreur fatale pendant le hook d’envoi, elle y apparaît : c’est la première piste quand aucun e-mail ne part, pas même vers les indésirables.
-
Envoi d’un test isolé
J’envoie un e-mail de test pour distinguer un message jamais généré, plus rare, d’un message généré mais jamais livré, de loin le cas le plus fréquent sur les boutiques que je vois.
-
Vérification du transport
Par défaut, WordPress envoie via wp_mail(), qui repose sur la fonction mail() de PHP. Beaucoup d’hébergeurs la bloquent ou la limitent, et sans alignement SPF/DKIM pour le domaine d’envoi, le message part en indésirables ou disparaît.
-
Mise en place d’un relais SMTP authentifié
La correction durable passe presque toujours par un service d’envoi transactionnel connecté en SMTP authentifié, via un plugin qui s’accroche au hook phpmailer_init au lieu de laisser le serveur envoyer en direct.
Ce que je traite régulièrement
- Le client affirme n’avoir reçu aucune confirmation, alors que la commande existe bien dans l’administration
- Je ne reçois plus les notifications de « nouvelle commande », même en vérifiant les indésirables
- Tout fonctionnait, puis plus rien du jour au lendemain, sans modification connue de mon côté
- L’e-mail de réinitialisation de mot de passe n’arrive jamais, alors que la confirmation de commande fonctionne
- Les e-mails finissent par arriver, mais avec plusieurs heures de retard
Deux problèmes très différents derrière un même symptôme
WooCommerce ne gère pas l’envoi lui-même : il construit le contenu de l’e-mail (nouvelle commande, facture, avoir…) puis le confie à wp_mail(), la fonction native de WordPress. Sur la plupart des hébergements mutualisés, wp_mail() retombe sur la fonction mail() de PHP, qui envoie directement depuis le serveur sans authentification. C’est ce cas de figure qui explique la grande majorité des e-mails jamais reçus.
Sans enregistrements SPF et DKIM correctement alignés pour le domaine d’envoi, les grands fournisseurs de messagerie traitent ce trafic comme suspect : le message part en indésirables, ou il est purement et simplement rejeté sans notification côté site. C’est un problème de délivrabilité, pas un bug WooCommerce.
Un second cas, plus rare, est celui d’un message qui n’est même jamais généré : un plugin de cache qui met en cache la page « commande reçue » peut, mal configuré, court-circuiter le hook responsable de l’envoi. Les deux situations se ressemblent pour le client, mais se corrigent très différemment.
Pages liées
-
Problème de paiement WooCommerce
Commande bloquée ou webhook en échec : un autre symptôme qui touche le même tunnel de commande.
-
Maintenance WooCommerce
Surveillance et interventions régulières pour éviter que ce type de panne ne se reproduise en silence.
-
WordPress & WooCommerce
La page d’ensemble sur les pannes et évolutions que je traite sur ces plateformes.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.