Formulaire WordPress : les mails n'arrivent pas.
Le visiteur voit « message envoyé », et vous ne recevez rien. Ou bien les mails partent, mais finissent dans les indésirables. Même chose pour les commandes WooCommerce ou les liens « mot de passe oublié ». C'est l'une des pannes WordPress les plus courantes, et l'une des plus coûteuses : chaque message perdu est un client qui attend une réponse.
Pourquoi WordPress envoie si mal ses e-mails
Par défaut, WordPress n'utilise pas de vraie boîte mail. Il confie le message à la fonction mail() de PHP, qui le remet au serveur de l'hébergement, sans mot de passe ni authentification. Pour Gmail, Outlook ou Orange, un tel message ressemble beaucoup à du spam : il vient d'un serveur mutualisé, souvent au nom d'une adresse qui n'existe pas (wordpress@votre-domaine.fr, l'expéditeur par défaut).
Depuis 2024, Gmail et Yahoo exigent que les expéditeurs prouvent leur identité par des enregistrements DNS. Un message qui ne le fait pas est classé en indésirable, ou refusé sans que personne ne soit prévenu. D'où le « ça marchait avant ».
1. Le piège n°1 : l'adresse du visiteur en expéditeur
Dans Contact Form 7, WPForms ou Elementor, il est tentant de mettre l'adresse du visiteur dans le champ De (From) pour pouvoir lui répondre directement. C'est la cause de pannes la plus fréquente : votre serveur envoie alors un mail « de la part de » client@gmail.com ou client@yahoo.fr, ce qu'il n'a pas le droit de faire. Les messageries le détectent et le rejettent.
- De : une adresse de votre domaine, par exemple
contact@votre-domaine.fr. - Répondre à (Reply-To) : l'adresse du visiteur. Le bouton « Répondre » de votre messagerie lui écrira directement.
Dans Contact Form 7, ça se règle dans l'onglet E-mail du formulaire : le champ « De » garde votre adresse, et la ligne Reply-To: [your-email] va dans les en-têtes supplémentaires. L'extension signale d'ailleurs ce problème par un avertissement de configuration.
2. Faire partir les mails d'une vraie boîte (SMTP)
La solution durable consiste à ce que WordPress envoie ses mails comme vous le feriez depuis Outlook : en se connectant à une vraie boîte, avec identifiant et mot de passe. C'est le rôle d'une extension SMTP, comme WP Mail SMTP ou FluentSMTP.
- Créez une boîte sur votre domaine (par exemple
site@votre-domaine.fr) chez votre hébergeur ou votre fournisseur de messagerie. - Installez l'extension SMTP et renseignez le serveur d'envoi de cette boîte : en général le port 465 (SSL) ou 587 (STARTTLS), avec l'adresse complète comme identifiant.
- Réglez l'expéditeur de l'extension sur cette même adresse, et forcez-le pour tous les envois.
- Envoyez un mail de test depuis l'extension, vers une adresse Gmail et une adresse Outlook.
3. Prouver que les mails viennent bien de vous (SPF, DKIM, DMARC)
Ces trois enregistrements DNS sont la carte d'identité de votre domaine :
- SPF liste les serveurs autorisés à envoyer pour votre domaine.
- DKIM signe chaque message pour prouver qu'il n'a pas été modifié en route.
- DMARC indique aux messageries que faire d'un message qui échoue aux deux premiers.
Sur un hébergement cPanel, l'outil Délivrabilité des e-mails vérifie SPF et DKIM et propose de les corriger en un clic quand le domaine utilise les DNS de l'hébergeur. Si votre domaine est géré ailleurs (registrar, Cloudflare), il faut recopier les valeurs indiquées dans cette zone DNS. Pour tester le résultat, envoyez un message à mail-tester.com : la note sur 10 détaille ce qui manque.
4. Le cas piège : votre messagerie est chez Google ou Microsoft
Votre site est chez un hébergeur, mais vos boîtes mail sont chez Google Workspace ou Microsoft 365. Les messages du formulaire destinés à contact@votre-domaine.fr n'arrivent pas, alors que tout le reste fonctionne. Explication : le serveur de l'hébergement se croit responsable de votre domaine et livre le message dans une boîte locale que personne ne consulte, sans même le faire sortir.
Sur cPanel, la correction est dans Routage des e-mails (Email Routing) : choisissez Échangeur de courrier distant (Remote Mail Exchanger) pour ce domaine. Le serveur cessera de garder ces messages pour lui et les enverra vers Google ou Microsoft.
5. Les messages arrivent, mais en indésirables
C'est la même cause, en moins grave : l'identité du domaine est incomplète. Vérifiez dans l'ordre l'expéditeur (point 1), SPF et DKIM (point 3), puis le contenu : un formulaire qui laisse passer des liens et du texte promotionnel, parce qu'il n'a pas d'antispam, finit par abîmer la réputation de votre domaine tout entier. Un captcha discret (Cloudflare Turnstile, reCAPTCHA) ou un champ piège règle ce problème.
Quand me confier la panne
Si les mails n'arrivent toujours pas après ces vérifications, ou si les DNS de votre domaine vous semblent illisibles : je configure l'envoi de bout en bout (SMTP, SPF, DKIM, DMARC, routage), je teste vers les principales messageries et je vous laisse un journal des envois. Intervention de 80 à 250 € selon la configuration, diagnostic gratuit, remboursée si les mails n'arrivent pas.
Des messages perdus ?
Décrivez-moi votre formulaire et votre messagerie, je vous dis où ils se perdent.
Demander mon diagnostic gratuit →