Créez votre site WordPress avec Elementor.Découvrir Elementor Lien partenaire

LANGUES DE BLOGPASCHER

Archives par langue

Choisissez une archive disponible ou retrouvez les langues prévues pour les traductions.

Archives disponibles

Traductions prévues (32)
  • Englishanglais
  • Españolespagnol
  • Deutschallemand
  • Portuguêsportugais
  • Italianoitalien
  • Nederlandsnéerlandais
  • Polskipolonais
  • Українськаukrainien
  • Češtinatchèque
  • Slovenčinaslovaque
  • Hrvatskicroate
  • Românăroumain
  • Magyarhongrois
  • Ελληνικάgrec
  • Türkçeturc
  • العربيةarabe
  • עבריתhébreu
  • हिन्दीhindi
  • বাংলাbengali
  • ไทยthaï
  • Tiếng Việtvietnamien
  • Bahasa Indonesiaindonésien
  • 简体中文chinois simplifié
  • 日本語japonais
  • 한국어coréen
  • Danskdanois
  • Svenskasuédois
  • Norsknorvégien
  • Suomifinnois
  • Eestiestonien
  • Latviešuletton
  • Lietuviųlituanien

Apparence du site

Courriels et notifications · Intermédiaire

Contact Form 7 classe un message légitime comme spam

Identifiez le filtre qui classe une soumission légitime en spam dans Contact Form 7. Testez une correction ciblée sur copie sans courrier réel.

Confirmer où apparaît la mention de spam

Une demande de contact légitime reçoit un message d’erreur. Avant de corriger un filtre, déterminez si Contact Form 7 a classé la soumission comme indésirable, si le serveur a bloqué la requête ou si le courriel est arrivé dans le dossier Indésirables du destinataire. Ces trois situations se ressemblent pour le visiteur et appellent des interventions différentes.

Pour une soumission Ajax, ouvrez la réponse du POST feedback et cherchez le champ status. La valeur spam indique que Contact Form 7 a rendu un verdict antispam pour cette tentative. Le statut HTTP peut tout de même être 200. Si le navigateur reçoit un 403, une page HTML de défi ou une requête qui ne se termine pas, reprenez d’abord le diagnostic du trajet réseau. Vous ne disposez pas encore d’un verdict de Contact Form 7.

Si la réponse indique mail_failed, le formulaire a atteint la branche d’échec de courrier. Si elle indique mail_sent, vérifiez d’abord s’il s’agissait d’une simulation. Pour une soumission ancienne effectuée en fonctionnement normal, relevez les journaux de transport déjà disponibles. Un courrier classé dans les indésirables de la boîte relève de l’acheminement et du filtre de messagerie. Changer une protection du formulaire pour ce cas ne résout pas le classement du message livré.

La documentation de l’éditeur montre une bordure orange pour le spam et rouge pour l’échec du courrier dans le style standard. Les thèmes peuvent modifier ces couleurs, et l’éditeur utilise par défaut un texte semblable pour les deux échecs. En mode classique sans Ajax, cherchez un journal antispam ou une entrée Flamingo associée à la tentative. Utilisez la couleur seulement comme indice.

Préparer la recette et deux entrées témoins

Travaillez dans une copie privée avec son propre domaine, sa base, son cache et ses intégrations de test. Faites correspondre la version de Contact Form 7, le formulaire, la configuration et les règles qui peuvent participer au verdict. Si le problème dépend d’une réputation calculée par un service externe, notez dès le départ les différences d’identité, de domaine et de réseau qui peuvent empêcher une reproduction fidèle.

Bloquez les transports de courrier, les webhooks et les autres sorties réelles avant d’ouvrir le formulaire. Retirez les identifiants de production et neutralisez le second modèle de courrier si votre protocole le prévoit. Pour observer le traitement sans courrier, utilisez temporairement skip_mail: on sur le seul formulaire de recette. Cet ajout laisse le traitement antispam se dérouler mais ne bloque pas les autres extensions et intégrations. Gardez les protections et contrôles réseau en dehors de WordPress.

Préparez deux jeux synthétiques. Le témoin légitime contient les champs requis et un message banal. Le second reproduit uniquement la caractéristique soupçonnée ou une signature d’essai documentée. Évitez les textes, adresses, IP et identifiants tirés d’un vrai message. Si vous devez comparer deux profils ou deux réseaux de test, conservez les mêmes autres paramètres et notez le changement exact.

Notez l’état de départ, la liste des protections et le périmètre du test. Un test fermé aux services externes peut démontrer le fonctionnement de la liste locale ou le traitement d’une réponse simulée. S’il est impossible d’observer un moteur distant sans ouvrir un accès interdit, laissez ce moteur hors du périmètre et utilisez les traces déjà disponibles. La preuve n’exige pas un nouveau courriel réel.

Attribuer le verdict à un module à l’aide du journal

Si Flamingo est déjà présent et autorisé pour la recette, ouvrez Flamingo → Messages entrants et la vue Spam. Repérez l’entrée du formulaire et de la tentative d’essai à partir de l’heure et du marqueur fictif. Ouvrez-la et cherchez le journal antispam. Selon le module et la version, vous pourrez relever un nom de composant, un score ou un motif. Le libellé du message public masque cette information.

Contact Form 7 seul ne fournit pas d’archive générale de toutes les soumissions. Si aucune entrée n’existe, vérifiez le canal, la date, le stockage autorisé et la présence du réglage do_not_store sur le formulaire. Vérifiez aussi que le POST a réellement atteint Contact Form 7. Certaines protections de bordure ou personnalisations stoppent l’action plus tôt. Conservez la politique de stockage déjà prévue. L’absence d’entrée ne prouve pas qu’il n’y a eu ni tentative ni verdict.

Si Flamingo est absent, exploitez les traces existantes de la copie ou un journal privé déjà prévu par le module. Si ces traces ne donnent que spam sans motif, inscrivez « filtre non attribué » puis suivez les branches selon les protections effectivement actives. Un journal peut documenter la première règle décisive seulement. Après une correction ciblée, un autre module peut rendre à son tour un verdict.

Dans votre dossier d’essai, conservez l’heure, le formulaire, le statut et un motif expurgé. Ne transmettez ni corps de message, ni jeton, ni clé, ni trace réseau brute. Utilisez les commandes de reclassement avec prudence. Si Akismet est intégré, passer un message de Spam à Non spam dans Flamingo peut lui transmettre un signal de faux positif. Ce geste est distinct de la simple lecture du journal.

Si un terme ou une IP déclenche la liste locale

Dans la copie, ouvrez Réglages → Discussion et repérez le champ des clés ou termes de commentaire interdits. Il s’agit du champ qui disqualifie, distinct de la liste de mise en modération. Contact Form 7 peut s’appuyer sur ces entrées. Conservez le texte initial dans un emplacement privé avec une ligne par entrée. Un changement de cette liste concerne aussi les usages de WordPress qui s’appuient sur la même option.

Comparez le motif à l’entrée et à la valeur fictive qui reproduit le cas. La documentation CF7 indique que la liste peut agir sur un terme présent dans le message ou sur une adresse IP. Pour la liste WordPress, une entrée peut correspondre à une partie de mot. Un terme commercial très général mérite donc d’être examiné s’il apparaît dans une demande ordinaire. Si le motif cite une IP, vérifiez d’abord ce que la copie voit derrière son proxy au lieu d’ouvrir une plage d’adresses.

Rejouez le témoin et un scénario qui ne change que la valeur soupçonnée. Si le verdict suit la valeur et le journal cite la même règle, ajustez cette seule ligne sur la copie. Préférez un motif plus précis quand le besoin initial reste valable. Si la règle représente un blocage d’adresse volontaire, faites confirmer sa finalité avant de l’écarter.

Après le réglage ciblé, le message légitime doit franchir le filtre. Un scénario synthétique représentant le cas que la règle doit encore arrêter doit rester filtré. Si vous n’obtenez pas les deux résultats, remettez la ligne d’origine. Vérifiez également l’impact sur les commentaires de la copie si ceux-ci font partie du site.

Si le journal désigne Turnstile ou reCAPTCHA

Commencez par le symptôme que rapporte la trace. Un widget absent ou un jeton vide renvoie vers le chargement du script, son initialisation ou le consentement. Un refus côté serveur demande de vérifier si le service a répondu, puis de lire le résultat de vérification et les codes d’erreur disponibles. Un domaine ou une paire incohérente relève de la configuration. Un score réellement reçu peut orienter vers un faux positif.

Dans CF7 6.2.4.1, le journal peut indiquer « score inférieur au seuil » dès qu’une vérification échoue avec un jeton non vide. Si le service renvoie un corps sans score, CF7 utilise zéro comme valeur de repli. Si l’appel échoue ou renvoie un statut HTTP autre que 200, le code peut revenir avant même de lire un score. Consultez le relevé expurgé de la même tentative. Vérifiez le statut HTTP, puis success, error-codes et la présence d’un score numérique dans la réponse. Sans preuve qu’une réponse de vérification réussie contient un score, consignez « refus reCAPTCHA, cause non attribuée » et poursuivez selon les signaux disponibles.

Pour Turnstile, ouvrez Contact → Intégration sur la copie et identifiez la configuration de l’intégration. Vérifiez que le widget apparaît au bon endroit et que le script est chargé. Comparez l’heure de création du jeton et celle du POST sans copier sa valeur. Le serveur doit valider le jeton. Un widget visiblement résolu dans le navigateur ne constitue pas une preuve de cette validation. Pour reCAPTCHA v3, vérifiez la version des clés et le chargement du script avec le mécanisme de consentement prévu sur cette recette.

Pour un jeton absent ou expiré, comparez une saisie normale avec un retour après attente ou avec l’ouverture dans une fenêtre modale. Observez un nouveau jeton à chaque nouvelle tentative, sans rejouer les corps de requête. Les jetons Turnstile et reCAPTCHA ont une durée de vie limitée et un usage unique. Si un optimiseur ou le consentement empêche le chargement, ajustez uniquement ce point dans la copie et comparez les deux états. N’ajoutez pas une seconde intégration pour masquer le défaut de la première.

Si les appels de test sont autorisés dans votre recette, utilisez les paires factices officielles de Turnstile pour obtenir un succès et un refus contrôlés. Ces résultats exercent l’intégration et le rendu, avec une portée différente d’un véritable score de production. Si la copie doit rester hors ligne, utilisez un double autorisé ou marquez la validation distante non réalisée. Si le service a effectivement renvoyé un score lors d’une vérification réussie, comparez-le au seuil effectif et aux réglages en vigueur. Pour étudier le contexte, utilisez uniquement des cas humains synthétiques dans la recette autorisée. Évitez de diminuer le seuil global sur une seule observation.

Si Akismet rend le verdict ou qu’un autre module intervient

Dans le formulaire de recette, ouvrez l’onglet Formulaire et repérez les options akismet:author, akismet:author_email et, si vous l’utilisez, akismet:author_url. Vérifiez que chaque option est rattachée au champ qui porte effectivement la donnée correspondante. Un champ de sujet, une valeur fixe ou un champ mal câblé peut donner au filtre un contexte incohérent. Enregistrez la configuration d’origine avant toute correction ciblée.

Si un bac à sable Akismet est déjà autorisé, la documentation de l’éditeur indique des valeurs fictives réservées pour provoquer un verdict de spam dans un champ correctement balisé. Comparez un scénario banal et ce témoin de blocage, avec le même formulaire et les mêmes protections. Sans accès de test autorisé, vérifiez la configuration et les traces disponibles. Gardez les messages réels et les identifiants de production hors du scénario.

Dans un environnement qui utilise Flamingo, la commande de reclassement peut transmettre un retour à Akismet. Une vérification documentaire n’exige pas de transmettre ce retour. Consignez le cas avec des exemples fictifs et, si une remontée est utile, faites-la traiter séparément selon les autorisations et la politique de données du site. Déplacer un message ne prouve pas que le prochain envoi passera ni que le courrier d’origine a été remis au destinataire.

Si le journal nomme un autre composant, cherchez sa règle et son périmètre. Un add-on local ou un mécanisme maison peut ajouter son propre verdict. Comparez une seule option ou règle dans la recette, avec toutes les autres protections actives. Si les journaux de la bordure indiquent un refus avant le traitement, revenez à la piste réseau. Si les traces CF7 restent muettes, documentez le module comme suspect et conservez cette incertitude dans le compte rendu.

Vérifier qu’un message accepté suit la bonne branche de courrier

Après le réglage ciblé, refaites le témoin légitime. Un passage de spam à mail_failed montre que la soumission a franchi le filtre et qu’un problème distinct subsiste dans la branche de courrier. Si vous aviez demandé skip_mail, le résultat mail_sent valide le passage dans le scénario simulé. Dans ces deux cas, évitez de présenter le résultat comme une livraison dans une boîte.

Vérifiez séparément sur la copie les réglages de l’onglet Courrier. Comparez les champs To, From et Reply-To avec le domaine et les balises du formulaire. Vérifiez aussi le second modèle si vous l’utilisez. En environnement de test, un collecteur local ou un transport simulé peut enregistrer l’intention d’envoi à une destination fictive. Tant que la copie peut atteindre un destinataire réel, limitez-vous à la lecture de la configuration.

Si un message légitime déjà traité se retrouve dans les indésirables de la boîte, rapprochez le statut CF7 des journaux d’acheminement existants. Un identifiant de message ou une trace d’acceptation par le transport aide à localiser la dernière étape connue. Le reclassement du courrier par la boîte relève d’un autre filtre. Ajuster Akismet ou une liste de termes du formulaire pour corriger ce classement n’agit pas sur la boîte.

Notez les trois résultats séparément dans votre rapport. Le réseau a répondu ou a bloqué, CF7 a rendu un verdict et le courrier a été simulé, a échoué ou a laissé une trace dans des journaux existants. Cette séparation rend la correction vérifiable même lorsque la validation distante ou l’acheminement réel est hors du périmètre.

Prouver le correctif ciblé et préparer le retour arrière

Un faux positif est corrigé sur la copie lorsque le témoin légitime cesse d’être classé spam, que le témoin indésirable reste bloqué par le contrôle prévu et que les autres protections restent actives. Refaites cette comparaison avec une nouvelle soumission synthétique pour chaque essai. Sur un test de jeton, rechargez la page ou faites le parcours normal qui crée un nouveau jeton. Évitez de rejouer un jeton issu d’une trace.

Documentez les résultats avant et après. Incluez le formulaire et son identifiant, l’heure, l’état des modules, l’unique réglage changé, le verdict serveur et le motif expurgé quand il existe. Pour un filtre distant simulé, indiquez le résultat produit par le double et le comportement observé dans CF7. Si la copie ne reproduit pas le faux positif de production, notez le résultat de recette comme partiel et précisez le signal qui manque.

Si le témoin indésirable passe aussi, si un autre formulaire se retrouve bloqué ou si les traces contredisent l’hypothèse, remettez le réglage initial dans la copie. Selon le cas, restaurez la seule ligne de la liste, les balises du formulaire ou la configuration de test de l’intégration. Ne remettez aucun secret de production. Contrôlez à nouveau les deux témoins et conservez le résultat du retour arrière.

En fin d’essai, retirez les paramètres temporaires de recette selon le point de retour, gardez les transports isolés et nettoyez les entrées synthétiques selon la politique de la copie. Préparez pour le responsable du site une proposition qui nomme le module, la modification, les résultats et le moyen de revenir à l’état précédent. La mise en production, si elle est décidée, relève d’une intervention distincte.

Notre méthode éditoriale

Pour comparer les outils

Ces guides peuvent aussi vous aider