Ce que la confirmation permet réellement de conclure
Le visiteur remplit le formulaire, voit un message de réussite, puis personne ne reçoit la demande. Ce symptôme peut venir d’un destinataire erroné, d’un envoi volontairement désactivé, d’un expéditeur refusé ou d’une livraison bloquée après la remise au transport. La confirmation affichée ne démontre pas l’arrivée en boîte. Avec certaines configurations, elle peut même apparaître alors qu’aucun courrier n’a été demandé.
Le résultat recherché est précis : une soumission faite sur le formulaire réellement utilisé doit produire la notification attendue dans la bonne boîte, avec un contenu exploitable et une réponse dirigée vers la bonne personne. L’accusé de réception envoyé au visiteur constitue un autre message. Il faut les contrôler séparément, surtout si l’équipe reçoit l’un mais pas l’autre.
Commencez par les réglages du formulaire existant, sans installer une seconde solution de formulaire. L’exemple détaillé utilise Contact Form 7 déjà présent. Pour une autre extension, recherchez les paramètres équivalents dans ses notifications ; les noms de menus ci-dessous ne s’appliquent pas automatiquement. WordPress seul ne possède pas un réglage universel destiné à tous les formulaires.
Préparez une soumission témoin sans donnée client : un objet reconnaissable, votre propre adresse et un court texte indiquant qu’il s’agit d’un essai. Relevez l’heure et le fuseau. Si une intégration crée aussi un contact ou une tâche commerciale, faites confirmer ce périmètre avant le test. Une copie de contrôle doit disposer de destinataires et d’intégrations isolés ; son simple nom ne garantit pas cette séparation.
Retrouver le formulaire intégré et relever sa configuration
Cette première vérification demande le droit de modifier la page et le formulaire concerné. Ouvrez la page en édition et sélectionnez son bloc de formulaire. Avec Contact Form 7, relevez le formulaire choisi dans le bloc ; avec un ancien bloc Code court, relevez l’identifiant du shortcode. Deux formulaires peuvent porter un titre presque identique tout en envoyant vers des adresses différentes. Le titre visible dans l’administration ne suffit donc pas à les rapprocher.
Dans Contact → Formulaires de contact, ouvrez l’élément correspondant à l’identifiant de la page. Dans la version actuelle, le menu Contact peut aussi ouvrir un tableau de bord : rejoignez bien la liste des formulaires. Copiez dans un fichier privé les réglages des onglets Formulaire, E-mail ou Mail, Messages et Réglages complémentaires. Cette copie permet de rétablir exactement les valeurs modifiées.
Au 3 novembre 2026, le répertoire indique Contact Form 7 6.2.4.1, publié par Rock Lobster Inc., avec WordPress 7.1 et PHP 8.3 minimum, et une compatibilité déclarée jusqu’à WordPress 7.1.4. Ce sont les exigences de cette version, pas un ordre de mise à jour immédiate de votre site. Comparez-les avec votre installation avant toute intervention sur l’extension. Le diagnostic d’une notification ne justifie pas à lui seul une migration technique.
Sur un réseau multisite, travaillez dans le tableau de bord du site qui contient la page, même si l’extension est activée au niveau réseau. Sur WordPress.com, suivez ce parcours seulement si votre installation permet effectivement l’usage et les réglages de cette extension. Vous devez retrouver le bon formulaire avant de modifier un seul destinataire.
Approche 1 : rétablir une notification volontairement ignorée
Cette voie convient lorsqu’un formulaire paraît fonctionner mais a été préparé en mode démonstration ou intégré à un système qui remplace son courrier. Dans Contact → Formulaires de contact → votre formulaire, ouvrez Réglages complémentaires, nommé Additional Settings en anglais. Recherchez les lignes demo_mode: on et skip_mail: on. Ne remplacez pas tout le contenu de cet onglet : d’autres réglages peuvent y avoir une fonction utile.
Dans la version examinée, demo_mode laisse afficher une réussite sans envoyer le courrier et affecte aussi l’enregistrement par l’intégration Flamingo. skip_mail saute l’envoi tout en permettant d’autres traitements. Ainsi, un message enregistré localement et une confirmation affichée ne prouvent pas qu’un courriel devait partir. Ces réglages peuvent être parfaitement intentionnels sur une démonstration ou un formulaire relié à un autre outil.
Si la ligne identifiée a été laissée par erreur sur le formulaire public, conservez sa copie, retirez seulement cette ligne et cliquez sur Enregistrer. Faites ensuite une unique soumission témoin depuis la page concernée. Le résultat attendu est une notification réellement reçue, sans changement des autres fonctions du formulaire. Pour revenir à l’état initial, remettez la ligne exacte dans le même onglet et enregistrez.
Si aucune de ces lignes n’est présente, ne les ajoutez pas avec une valeur improvisée. Un extrait personnalisé peut aussi ignorer l’envoi via le filtre wpcf7_skip_mail. Cette piste exige la lecture du code concerné par la personne qui le maintient ; elle ne justifie pas de désactiver toutes les extensions du site. Passez d’abord à la notification et à son destinataire.
Contrôler To et choisir le bon destinataire de la notification
Ouvrez l’onglet Mail du formulaire. Dans To, ou Pour selon la traduction, retrouvez l’adresse de l’équipe qui doit recevoir la demande. Une ancienne adresse commerciale, une faute de domaine ou un alias supprimé suffit à expliquer une notification introuvable. Vérifiez la boîte exacte, y compris son webmail, ses indésirables, ses règles et ses transferts. La boîte du visiteur n’est pas celle de l’équipe.
Pour la notification principale destinée à l’équipe, une adresse fixe autorisée permet un contrôle clair. Si To contient une balise dynamique, vérifiez ce qu’elle produit réellement. La balise spéciale de l’adresse d’administration du site renvoie vers le réglage correspondant de WordPress ; une balise de champ, elle, dépend du formulaire. Ne remplacez pas toutes les adresses du site pour corriger ce seul destinataire.
Si le formulaire comporte un routage par service, commencez par la branche qui échoue et relevez les correspondances prévues. Un essai concluant avec un service ne valide pas les autres choix. Une boîte destinataire fournie librement par le visiteur n’est pas une solution de routage interne : elle peut permettre l’envoi vers des tiers. Gardez la liste des destinataires de l’équipe sous le contrôle de l’administration.
Enregistrez une correction ciblée et soumettez le formulaire depuis sa page, avec le choix de service concerné. Le résultat attendu est la réception dans cette boîte précise. Pour annuler, restituez la valeur initiale de To et les seules correspondances modifiées. Si un changement de destinataire ne produit aucun message, conservez le constat et vérifiez maintenant l’expéditeur plutôt que de multiplier les copies en Cc et Bcc.
Séparer l’expéditeur du site et l’adresse de réponse du visiteur
Dans le champ From de la notification, utilisez une adresse du domaine du site acceptée par le service d’envoi. L’adresse saisie par le visiteur ne doit pas servir à faire passer votre serveur pour celui de sa messagerie. Une adresse appartenant au domaine est nécessaire à une configuration cohérente, mais elle ne suffit pas à prouver son authentification : le transport doit être autorisé à l’employer.
Si l’équipe doit répondre au visiteur, utilisez Reply-To dans Additional headers, appelé En-têtes additionnels selon la traduction. Avant d’ajouter la ligne ci-dessous, vérifiez dans l’onglet Formulaire que le champ d’adresse s’appelle bien your-email et qu’il s’agit d’un champ email obligatoire. Son nom est celui inscrit dans la balise du formulaire, pas son libellé visible. Si vous utilisez un autre nom, adaptez la balise de réponse à ce nom exact.
L’exemple n’est pas un remplacement de tout le modèle Mail. Il concerne uniquement une ligne du champ Additional headers. Gardez les autres en-têtes utiles et remplacez une ancienne ligne Reply-To contradictoire plutôt que d’en ajouter plusieurs. N’insérez pas cette ligne dans le corps du message ni dans le champ From.
Enregistrez puis envoyez une soumission témoin avec votre adresse. À réception, ouvrez une réponse sans l’envoyer et vérifiez que son destinataire est bien votre adresse témoin. Le résultat attendu combine un expéditeur autorisé et une réponse vers le visiteur. Pour annuler, remettez les valeurs From et Additional headers relevées avant l’intervention. Si une extension de transport force l’expéditeur, contrôlez aussi cette valeur effective au lieu de supposer que From reste prioritaire.
Reply-To: [your-email]Vérifier le contenu et distinguer Mail de Mail (2)
Dans Message body, chaque donnée attendue doit disposer de la balise correspondant au champ du formulaire. Un champ affiché à l’écran ne s’ajoute pas automatiquement au courrier. Comparez notamment le nom du champ message avec sa balise dans le modèle. Le résultat recherché est un courrier contenant les informations prévues ; une balise inconnue ou une valeur vide ne se corrige pas dans le serveur SMTP.
Choisissez un objet identifiable pour l’essai, puis vérifiez les avertissements de configuration après Enregistrer. Le validateur vérifie la cohérence syntaxique ; il n’envoie pas de courrier et ne contacte pas la boîte destinataire. Un formulaire enregistré sans avertissement demande donc toujours un essai de réception. Inversement, désactiver le validateur ne corrige pas un en-tête mal formé.
Examinez séparément Use Mail (2). Ce second modèle peut servir d’accusé de réception, mais son existence ne remplace pas la notification principale. Il est envoyé après la réussite de l’envoi principal au sens du mécanisme d’envoi, sans garantie que l’équipe ait déjà reçu son message. Vérifiez son destinataire et son contenu seulement si cet accusé est réellement prévu. L’activer pour réparer une notification absente ajouterait un autre message à diagnostiquer.
Si l’échec apparaît uniquement avec une pièce jointe, comparez une soumission témoin sans fichier puis une soumission avec un petit fichier inoffensif autorisé. Le nom de sa balise doit figurer dans File attachments, et les limites du service d’envoi restent applicables. Ce contrôle ne justifie pas d’autoriser tous les formats. Restaurez les modèles copiés si votre correction ne produit pas le résultat attendu.
Approche 2 : comparer la soumission avec le transport existant
Cette approche convient lorsque le formulaire vise la bonne boîte mais que la notification reste absente. Utilisez le transport déjà configuré sur le site. Avec WP Mail SMTP présent, WP Mail SMTP → Tools → Email Test permet d’envoyer un test vers la même boîte de l’équipe. Relevez l’heure et constatez sa réception dans le webmail, au lieu de vous arrêter au résultat affiché par l’extension.
L’outil est présenté ici pour une installation existante. Sa version 4.10.3, attribuée à Syed Balkhi et contrôlée le 3 novembre 2026, indique WordPress 5.5 et PHP 7.4 minimum, et une compatibilité déclarée jusqu’à WordPress 7.1.4. Il ne faut pas l’ajouter par-dessus un autre transport qui gère déjà les envois. Une configuration SMTP nouvelle relève du parcours de transport dédié, avec les paramètres du fournisseur réel.
Si le test échoue aussi, l’erreur donne une piste commune : connexion, authentification ou expéditeur refusé. Corrigez la valeur précisément en cause dans le transport existant, puis refaites d’abord le test et ensuite le formulaire. Si le test arrive mais pas la notification, revenez aux particularités du formulaire : destinataire, en-têtes, pièces jointes, envoi ignoré ou règle personnalisée.
Avec WP Mail SMTP, vérifiez également Settings → Misc → Do Not Send si un arrêt d’envoi a pu être oublié. Dans la version examinée, le test peut partir malgré cette option, alors que les messages ordinaires restent bloqués. Ne levez un blocage qu’après avoir confirmé qu’il est accidentel sur cet environnement. Le retour arrière consiste à restituer les réglages relevés ; ne désactivez pas un transport fonctionnel pour essayer au hasard une autre extension.
Lire les traces sans transformer une soumission en preuve de livraison
Utilisez les journaux déjà disponibles chez le fournisseur d’envoi ou dans l’hébergement. Cherchez la tentative par son heure, son destinataire et son objet témoin. Une notification remise au transport peut ensuite être rejetée, différée ou classée dans les indésirables. Le succès de wp_mail signifie que la méthode d’envoi a traité la demande sans erreur ; il ne constitue pas un accusé de réception de la personne.
Vérifiez ce que le journal observe réellement. Une entrée de formulaire démontre une soumission enregistrée. Une entrée créée avant l’expédition ne prouve pas une remise au serveur distant. Un statut de rejet accompagné d’une raison permet en revanche une correction ciblée. Si aucune trace n’apparaît, confirmez que vous examinez le bon transport et la bonne période avant d’affirmer que le formulaire n’a rien produit.
Évitez d’activer un archivage intégral des contenus clients pour un simple diagnostic. L’objet témoin, l’heure, le statut et un identifiant technique suffisent généralement à rapprocher les étapes. Les fonctions de journalisation varient selon l’édition et le service ; la présence d’un menu ne signifie pas que tous les historiques sont disponibles gratuitement. Retirez les secrets et les informations personnelles avant de partager une erreur.
Une absence limitée à une boîte demande aussi de contrôler les règles et les filtres de cette boîte. Un message retrouvé dans les indésirables change le diagnostic : la notification a bien atteint le système destinataire. Il reste à traiter sa réputation ou son authentification, plutôt qu’à réécrire le formulaire qui l’a produit.
Option utile : conserver les prochaines demandes avec Flamingo
Contact Form 7 ne conserve pas à lui seul les messages soumis. Si votre équipe a besoin de retrouver les futures demandes indépendamment de leur notification, Flamingo peut ajouter cet enregistrement dans la base WordPress. Cette option ne répare ni SMTP ni le classement des messages. Elle ne permet pas non plus de récupérer des soumissions anciennes qui n’ont jamais été enregistrées.
Le répertoire présente Flamingo 2.6.4 par Rock Lobster Inc., avec WordPress 6.7 et PHP 7.4 minimum et une compatibilité déclarée jusqu’à WordPress 7.1.4 au contrôle du 3 novembre 2026. L’extension est gratuite. Avant de l’ajouter, confirmez que la conservation de ces données dans WordPress est prévue par l’équipe, avec des accès limités et une durée adaptée. Une archive supplémentaire n’est pas neutre pour un formulaire contenant des données sensibles.
Si vous avez les droits requis et que ce stockage est souhaité, ouvrez Extensions → Ajouter une extension, recherchez Flamingo, vérifiez sa fiche, puis installez et activez l’extension. Soumettez ensuite uniquement le message témoin et ouvrez Flamingo → Inbound Messages, ou Messages entrants. Vérifiez sa présence et ses champs. Une entrée prouve l’enregistrement, pas la réception du courriel.
Le mode démonstration et certains réglages empêchent cet enregistrement. Vérifiez notamment do_not_store dans les Réglages complémentaires, sans le supprimer si la non-conservation est volontaire. Des choix de consentement au stockage peuvent aussi compter selon le formulaire. Si vous abandonnez l’option, désactivez l’extension après avoir traité les seules données de test selon votre procédure ; ne supprimez pas en masse des demandes réelles pour revenir en arrière.
Valider le parcours complet et garder une configuration lisible
Après la correction, utilisez la page publique réellement destinée aux visiteurs. Faites une seule soumission avec le choix de service, les champs et l’éventuelle pièce jointe qui posaient problème. Vérifiez la notification dans la bonne boîte, son objet et son contenu, puis ouvrez une réponse pour confirmer le destinataire sans l’envoyer. Si un accusé de réception est prévu, contrôlez-le séparément dans votre boîte témoin.
Lorsque le problème ne se produit que pour les visiteurs déconnectés, gardez les réglages de courrier qui viennent d’être vérifiés et examinez ensuite le parcours anonyme : validation du formulaire, protection antispam, cache ou autorisation de requête. Une panne avant l’envoi ne se répare pas en changeant le mot de passe SMTP. Évitez toutefois de supprimer les protections du formulaire public pour obtenir artificiellement une réussite.
Conservez un relevé de la cause trouvée, du formulaire et des champs modifiés. Le destinataire de l’équipe, l’expéditeur autorisé et le nom du champ de réponse doivent rester compréhensibles pour la prochaine personne qui maintient le site. Si une copie de contrôle avait reçu une adresse de test, ne reportez pas cette adresse accidentellement sur le formulaire public.
- Notification reçue avec réponse dirigée au bon endroit : correction fonctionnelle pour le scénario vérifié.
- Test de transport reçu mais formulaire absent : examiner la notification et ses règles propres.
- Demande enregistrée sans courrier : traiter encore l’envoi ; l’archive ne clôt pas l’incident.
- Message reçu en indésirables : poursuivre le diagnostic de classement et d’authentification.
- Relais nécessaire : fournir l’identifiant du formulaire, l’heure, le destinataire masqué, les statuts observés et les modifications déjà annulées ou conservées.
Reproduire la confirmation sans envoi sur une copie
Sur une copie locale, créez un formulaire Contact Form 7 réservé au test. Dirigez le transport de la copie vers un collecteur SMTP lié à 127.0.0.1, avec le port indiqué par le collecteur. Utilisez equipe@atelier.test dans **À**, Atelier <site@atelier.test> dans **De** et Reply-To: [your-email] dans les en-têtes supplémentaires, si le champ courriel s’appelle your-email. Gardez **E-mail (2)** désactivé pour compter une seule notification par soumission.
Dans **Réglages supplémentaires**, ajoutez cette ligne uniquement sur le formulaire de la copie. Notez l’objet témoin avant de soumettre.
- Envoyez le formulaire de test une fois. Le moteur de Contact Form 7 répond
mail_sent, mais le collecteur reste vide. - Retirez cette ligne, enregistrez le même formulaire, puis envoyez un second témoin. Avec le collecteur en mode acceptation, vérifiez que l’objet, **À**, **De** et **Répondre à** correspondent aux champs attendus.
- Si les deux soumissions montrent la même confirmation, comparez les traces du collecteur. La présence du second message permet de distinguer un envoi ignoré d’une notification remise au transport.
skip_mail: onLire une acceptation SMTP et un refus de destinataire
Le collecteur de l’essai a accepté une notification, puis simulé un refus pour la même adresse lors d’un troisième passage. Voici les extraits du relevé, avec une adresse de démonstration réservée au test.
Le code 250 après DATA signifie que le collecteur a pris en charge le message. Dans un journal de production, relevez quel serveur a donné ce code et cherchez la trace du relais suivant avant de conclure sur le dossier d’arrivée. Le refus 550 du test arrive à l’étape du destinataire. Vérifiez la réponse complète dans votre journal, puis l’adresse et les règles du transport si la réponse indique un destinataire rejeté.
Ce parcours a été exécuté avec le moteur de soumission de Contact Form 7 et WordPress sur une copie locale, sans envoi externe. Si votre copie ne dispose pas d’un collecteur, utilisez l’essai du transport déjà configuré pour une adresse témoin dont vous gérez la boîte, puis comparez son résultat à une seule soumission du formulaire.
Acceptation locale
RCPT TO:<equipe@atelier.test> 250
fin de DATA 250
Contact Form 7 mail_sent
Refus local
RCPT TO:<equipe@atelier.test> 550 5.1.1
Contact Form 7 mail_failed
Crochet WordPress wp_mail_failed




