Classique : ton formulaire de contact WordPress affiche « message envoyé », mais aucun email n'arrive jamais dans ta boîte. Ni les tiens, ni ceux de tes visiteurs. Pire : les notifications de commande, les réinitialisations de mot de passe, les inscriptions… tout part dans le vide.

Ce n'est pas un bug de ton thème ni de ton formulaire. C'est l'envoi d'emails de WordPress lui-même qui est défaillant — et ça se répare en 10 minutes avec le SMTP. Voici comment diagnostiquer et corriger, même sans être développeur.

Pourquoi les mails WordPress n'arrivent jamais

Par défaut, WordPress envoie ses emails avec la fonction PHP mail() de ton hébergeur. Le problème :

  • Pas d'authentification : l'email part « anonymement » depuis le serveur, sans prouver qu'il vient bien de ton domaine. Gmail, Outlook et les autres le classent en spam — ou le rejettent purement et simplement.
  • Hébergeurs mutualisés restrictifs : beaucoup d'hébergeurs limitent ou désactivent la fonction mail() pour lutter contre le spam. Résultat : l'email ne part même pas.
  • Pas de SPF/DKIM : sans ces enregistrements DNS qui authentifient ton domaine, tes emails ressemblent à du phishing aux yeux des filtres anti-spam.

En clair : ce n'est pas que tes mails « se perdent », c'est qu'ils sont bloqués à la source ou à l'arrivée. Le SMTP règle les deux problèmes d'un coup.

Le petit réflexe hunter : vérifie d'abord tes spams et l'onglet « Promotions » de Gmail. Si les mails de ton site y atterrissent, le problème est l'authentification (SPF/DKIM) — le SMTP va justement corriger ça.

Diagnostic en 10 minutes : où ça coince ?

Avant de tout reconfigurer, identifie la panne :

  1. Teste avec un autre formulaire : si Contact Form 7 ne marche pas mais que la réinitialisation de mot de passe WordPress fonctionne, le problème vient du plugin de formulaire, pas de l'envoi d'emails.
  2. Vérifie l'adresse d'expédition : dans Réglages > Général, l'« adresse e-mail d'administration » doit être une adresse de ton domaine (contact@ton-site.fr), pas une adresse Gmail ou Free. C'est l'erreur n°1.
  3. Regarde les spams du destinataire (voir l'encadré ci-dessus).
  4. Demande à ton hébergeur si la fonction PHP mail() est active sur ton hébergement — un ticket support suffit, la réponse arrive en général en quelques heures.

Si les mails ne partent d'aucun formulaire et d'aucune fonction WordPress, passe directement à la configuration SMTP : c'est la solution dans 95 % des cas.

Le SMTP, c'est quoi (en simple) ?

SMTP = le protocole standard d'envoi d'emails. Au lieu de laisser WordPress bricoler l'envoi via le serveur de l'hébergeur, tu lui dis : « envoie mes mails via ce vrai serveur mail, avec identifiant et mot de passe ». L'email part authentifié, avec ton domaine, et les boîtes de réception lui font confiance.

Tu peux utiliser le SMTP de ton hébergeur (souvent inclus), celui de ton fournisseur d'emails pro, ou un service dédié. Dans tous les cas, WordPress a juste besoin de 4 infos : serveur, port, identifiant, mot de passe.

Configurer le SMTP pas à pas (méthode plugin)

La méthode la plus simple : un plugin SMTP. Elle ne demande aucune ligne de code.

  1. Installe un plugin SMTP : depuis Extensions > Ajouter, cherche « SMTP » et installe un plugin reconnu (celui avec le plus d'installations actives et de bonnes notes). Active-le.
  2. Récupère tes identifiants SMTP : chez ton hébergeur (espace client > emails > paramètres du compte mail) ou chez ton service d'emails. Note : serveur SMTP (ex. ssl0.ovh.net, smtp.gmail.com…), port (465 en SSL ou 587 en TLS), ton adresse email complète et son mot de passe.
  3. Renseigne les réglages dans le plugin : adresse d'expédition (ton adresse @ton-domaine), nom d'expédition (le nom de ton site), serveur, chiffrement (SSL/TLS selon le port), identifiant et mot de passe.
  4. Adresse d'expédition = adresse SMTP : utilise la même adresse pour l'expéditeur et le compte SMTP. Un expéditeur « contact@ton-site.fr » envoyé via le compte « autre-chose@gmail.com » sera rejeté.

Si tu utilises Gmail comme serveur SMTP, Google exige un mot de passe d'application (pas ton mot de passe habituel) dès que la validation en deux étapes est active. Il se génère dans les paramètres de sécurité de ton compte Google.

Quel service SMTP choisir (gratuit ou payant) ?

Ça dépend de ton volume d'envois :

  • Petit site / blog (quelques dizaines de mails par mois) : le SMTP de ton hébergeur ou de ta boîte mail pro suffit. C'est inclus, c'est simple, et la délivrabilité est correcte pour ces volumes.
  • Site avec inscriptions, boutique, newsletter (centaines de mails par mois) : passe par un service d'envoi dédié. Les offres gratuites couvrent généralement quelques centaines d'emails par mois, largement assez pour démarrer, avec une bien meilleure délivrabilité et des statistiques d'envoi.
  • Gros volumes : une offre payante dédiée devient indispensable — les quotas gratuits seront vite dépassés et ta réputation d'expéditeur doit être suivie.

Critère de choix n°1 : la délivrabilité (le taux d'emails qui arrivent vraiment en boîte de réception), pas le prix. Un service gratuit qui finit en spam ne sert à rien.

Notre reco : commence avec le SMTP de ton hébergeur (gratuit, 5 minutes de config). Si tes mails atterrissent encore en spam malgré une config propre, migre vers un service d'envoi dédié avec offre gratuite — la différence de délivrabilité est nette.

Tester que tout fonctionne

Ne te contente pas de « ça a l'air configuré » :

  1. Utilise la fonction « envoyer un email de test » intégrée au plugin SMTP (elle est présente dans tous les bons plugins). Envoie vers une adresse Gmail et une adresse Outlook : si ça arrive dans les deux, c'est bon.
  2. Remplis ton vrai formulaire de contact comme un visiteur et vérifie la réception.
  3. Teste la réinitialisation de mot de passe WordPress (page de connexion > « Mot de passe oublié »).
  4. Vérifie que les emails n'arrivent pas en spam : si c'est le cas, ajoute les enregistrements SPF et DKIM de ton service d'envoi dans la zone DNS de ton domaine (la doc du service explique exactement quoi copier).

Si ton site affiche d'autres symptômes bizarres après une mise à jour, jette aussi un œil à notre guide WordPress : page blanche après une mise à jour — les deux problèmes se cumulent souvent sur un hébergement mal configuré.

Pourquoi mon formulaire Contact Form 7 dit « envoyé » mais je ne reçois rien ?

Le message « envoyé » signifie seulement que WordPress a transmis l'email à la fonction d'envoi — pas qu'il est arrivé. Dans 95 % des cas, l'email est bloqué par l'hébergeur ou classé en spam. La configuration SMTP règle le problème.

Le SMTP est-il gratuit ?

Oui pour démarrer : le SMTP de ton hébergeur est inclus dans ton offre, et les services d'envoi dédiés proposent des quotas gratuits suffisants pour un petit site. Tu ne paies que si tes volumes deviennent importants.

Faut-il toucher au code ou au fichier wp-config.php ?

Non avec la méthode plugin : tout se règle dans l'interface d'administration. La modification de wp-config.php n'est utile que si tu veux verrouiller la configuration en dur, ce n'est pas nécessaire pour que ça marche.

Mes mails arrivent en spam malgré le SMTP, que faire ?

Ajoute les enregistrements SPF, DKIM et DMARC à la zone DNS de ton domaine (ton service d'envoi te donne les valeurs exactes à copier). C'est l'étape qui fait passer la délivrabilité de « correcte » à « excellente ».

Est-ce que ça marche aussi pour WooCommerce ?

Oui : WooCommerce utilise le système d'envoi de WordPress. Une fois le SMTP configuré, les confirmations de commande, factures et notifications client partent par le même canal fiable.