Contact Form 7 est un plugin pour wordpress qui permet de créer simplement des formulaires.
le plugin est disponible sur le repertoire officiel de wordpress :
https://wordpress.org/plugins/contact-form-7/
En utilisant Contact Form 7, vous avez peut-être rencontré un problème quelque peu gênant.
Celui que je vais raconter n’est pas forcement imputable directement à CF7, ni à wordpress non plus d’ailleurs, mais qui pourrait vous faire chercher pendant longtemps pour pas grand chose.
Le problème
Le plugin contact form 7 ne fonctionne pas correctement; Un client ne reçoit pas les demandes de contact sur son adresse email.
Nous le savons, car les formulaires sont capturé en base de donnée avant d’être envoyé par mail ( grâce au plugin Flamingo ).
Un peu embêtant puisque le but premier est donc de recevoir par email toutes les demandes de contacts …
Configuration
Une installation standard de wordpress, avec un theme personnalisé (basé sur Twenty Ten) avec le formulaire par défaut de Contact Form 7 sur une page de contact.
Le tout est hébergé chez Planethoster, un hébergeur qui propose l’interface Cpanel.
Et un email de contact @ nom de domaine du client.
L’histoire
Le détail qui à son importance, les emails @ le nom de domaine sont configuré pour utiliser le service de Gmail For Work de google.
Ce qui est louche dans l’histoire, c’est que la reception des emails via Google App fonctionne depuis déjà un bon moment.
Sans oublier que le fonctionnement du formulaire de contact à déjà été validé en testant avec un email temporaire @gmail.com.
Evidement, le client nie avoir touché à la configuration ou modifié quoique se soit.
Même si cela aurait pu arriver, il ne sait pas comment accéder aux paramètres de réglages et puis il n’a pas les accès login/mdp …
C’est une situation assez frustrante, quand on sait que nous seuls avons accès admin, avons limité les risques de pannes du à une mauvaise manip, et qu’un soucis apparait quand même …
La recherche commence
Je valide quand même que les services de mails fonctionnent toujours.
Le client reçois bien les emails, et ceux qu’il envoit arrivent bien à destination.
Je re-valide le fonctionnement du formulaire avec une autre adresse email, et cela fonctionne !
Incroyable,
la seule différence avec mes précédentes experiences c’est que les emails transitent via les services de Google.
Je ne peux pas croire qu’il y’a un blocage à ce niveau, et pourtant, c’est ce que je constate.
En attendant, revenons sur l’adresse gmail utilisé précédemment, le site étant en production, ce serait dommage de louper d’autres messages d’internautes.
Ne pouvant me résoudre à l’idée que le problème viennent de chez Google, je fais des essais sur une autre installation que je sais fonctionnel.
Et là c’est le drâme, enfin dans le bon sens du terme, puisque le formulaire de Contact Form 7 est bien capable d’envoyer un email et le client reçoit bien mes envois de formulaire de test.
Parfois, quand on passe du temps à chercher une solution sans la trouver, le simple fait d’expliquer à voix haute — ou mieux devant quelqu’un, même quelqu’un qui ne connait pas votre projet — peut vous aider à trouver de nouvelles pistes, ou la solution …
Donc je résume…
voilà grossièrement:
d’un coté, nous avons un site internet domaine·com capable d’envoyer des email à tout le monde, et de l’autre une adresse @domaine·com qui fonctionne correctement.
Et au milieu nous avons un site domaine·com qui ne peut pas envoyer de mail à contact@domaine·com …
Et là ça fait tilt !
Bah oui, après tout :
il en pense quoi le serveur mail ?
d’envoyer des emails sur son propre nom de domaine ?
Direction l’hébergeur PlanetHoster ; Et direction le panneau de configuration CPanel.
Dans l’interface de Cpanel — Section «Entrée MX» :
La cause du problème vient d’être découverte, le serveur tente donc d’envoyer l’email en local avant de chercher à l’envoyer sur le réseaux internet, hélas nous n’utilisons pas la fonction boite mail du serveur …
Il faut donc utiliser le réglage suivant : « Serveur de messagerie distant » afin de pouvoir réceptionner correctement les mails avec un service de mail externe.
Apres quelques essais, tout re-fonctionne de nouveau correctement.
Voilà, une histoire que j’espère vous n’oublierez pas si un jour vous avez des soucis de mails sur un nom de domaine personnalisé.
Joffrey dit
Bonjour,
Je cherche la solution à se problème depuis bientôt deux semaines…. Merci
perez dit
Bonjour,
je fais fasse au même problème, depuis 1 semaine :(
sur ma messagerie gmail perso, tout va bien, sur ma messagerie pro Google Apps, impossible de recevoir le message du formulaire (contact form 7 WP).. en suivant votre raisonnement j’ai changé l’email de l’expéditeur, afin qu’il soit différent du mon email de réception .. rien faire .. pour faire comme vous, dois-faire la modif sous plesk ou sur Google Apps pour accepter les email de « moi meme même » ?
merci
Christophe
David dit
Bonjour Christophe,
Cet article traite d’une situation qui finalement n’a de peu de rapport direct avec Google App ou autre elements extérieur, je pense même que le problème que j’ai vécu peut se reproduire dans une autre situation sans CF7.
Avant de continuer, il convient bien de double verifier, que tout fonctionne normalement des deux cotés.
Même si cela à déjà été fait en amont, vérifier que vous pouvez envoyer des mails depuis votre serveur et par dessus que wordpress peut toujours envoyer des mails à tous.
De l’autre coté verifier que votre configuration externe ( ici Google App ou autre prestataire ) peut envoyer et recevoir des mails depuis plusieurs services différents de mails. ( il peut arriver qu’il y’ai une erreur dans les conf MX des dns )
Arrivé ici, voyons la solution que je propose :
Changer le nom de l’expéditeur ne changera rien, ici le problème est l’adresse du destinataire.
je suis chez moi, je m’envois une lettre postale, j’ai la flemme d’aller chercher un timbre à la poste donc je met l’enveloppe directement dans ma boite aux lettres.
Sauf que je réleve le courrier à mon bureau, donc je ne verrais jamais le courrier à mon domicile.
La situation que je décrit dans cet article c’est le fait qu’un site exemple.fr envois un mail à une adresse@exemple.fr .
Donc une adresse du même domaine que le site; dans la configuration de certains hébergeur par défaut le serveur mail est la même machine que le serveur web.
Je suppose que c’est pour éviter d’augmenter la charge sur le trafic réseau que le mail n’est pas réellement expédié, l’optimisation consiste à envoyer le mail au serveur mail sans sortir physiquement de la machine. Sans regarder si le mail doit transiter vers une autre machine.
J’ai décrit ici la procédure avec Cpanel, je ne connais pas les autres environnements tels que plesk et autres manageurs, il vous convient de chercher un peu ou de contacter le support pour lequel vous payez votre hébergement.
Si vous trouvez la solution, n’hésitez pas à venir la rapporter ici, ma culture générale vous dira merci ;)
isabelle dit
Bonjour,
Un grand merci pour ce post, car en effet, et je vois que je ne suis pas la seule, à passer quelques jours sur le problème! Mais le mien n’est pas encore résolu, car mon client est chez hosteur et impossible de trouver cette configuration à modifier! Si quelqu’un peut m’apporter son aide, ce serait volontiers !
D’avance, merci.
Cordialement.
Sébastien COLLET dit
En effet, cela n’a pas à voir directement avec CF ou Google. Une solution, quand aucune option n’est offerte par l’hébergeur comme c’est le cas ci-dessus, est de spécifier l’envoi via SMTP. C’est possible en PHP ou via un plugin de WordPress (à chercher).
philippe dit
alors finallement que faut il faire concretement?
Boudot dit
Un grand merci !
johann dit
Un grand merci !
SAMIR MEHDI dit
Bonjour,
est ce que ça c’est bon : v=spf1 mx a ptr ~all
car je pense que le probleme vient de la config SPF dans les entrées DNS
etoundi dit
comment faire chez OVH? Mes abonnés ne parvienne pas avoir le mail de confirmation.
Lenny Obez dit
Merci 👍
Le problème provenait bel et bien du service e-mail qui essaye d’envoyer en local.
Pour résoudre le problème sous Plesk, il faut se rendre sur le tableau de bord (onglet Sites Web & Domaines), rechercher le domaine impacté et cliquer sur le menu « Adresses mail ». Sur cette nouvelle page, se diriger vers « Paramètres de la messagerie » et décocher l’option « Activer le service de messagerie sur ce domaine » si vous utilisez un champ MX externe.
Thozet dit
Bonjour,
J’ai le même soucis mais je n’arrive pas à m’en sortir ! J’ai créé un site sur WordPress, j’ai créé un mail via Outlook, j’ai téléchargé WP mail SMTP, j’ai bien renseigné les SMTP liés à Outlook mais ça ne fonctionne toujours pas. A chaque fois qu’on envoie un message via le formulaire de contact, c’est bien marqué que le message a été envoyé mais moi je ne reçois rien dans ma boîte mail (ni dans la boîte de réception, ni dans les spams). Est-ce que vous pouvez m’aider ? Je ne sais plus quoi faire !
BARRY dit
bonjour j’ai installer contact form 7 mais il m’affiche ce message : Une erreur s’est produite lors de l’envoie de votre message. Veuillez essayer à nouveau.
fred dit
j’ai lu mais j’ai rien compris
JM dit
Bonjour,
Depuis plusieurs semaines lors de l’envoi d’un formulaire rempli cia Contact Form 7 sous le thème « Travelify » j’ai également le message « Une erreur s’est produite lors de l’envoi de votre message. Veuillez essayer à nouveau. »
Je n’ai rien changé sur mon site depuis plusieurs mois, donc peut-être un conflit Contact Form 7 avec les mises à jour WP ?
Avez-vous une idée ?
Merci
LF dit
Bonjour,
J’ai lu vos commentaires et…moi aussi j’ai ce problème.
Je suis hébergée chez Siteground…Je ne sais pas très bien quelle manipulation je dois effectuer par rapport à mon hebergeur…
Sauf que moi au début ça fonctionnait et depuis quelques update sur mes pages de site, maintenant ça ne fonctionne plus…
Si quelqu’un peut m’aider je vous remercie beaucoup d’avance,
Matt Hbn dit
Merci pour cet article, j’ai pu résoudre mon problème sur O2Switch.
Est-ce qu’il est possible de récupérer les formulaires de contact qu’on a raté avant ce changement ?
Merci,