Documentation · Dépannage
Erreurs d'e-mails et de leads
Ce document couvre les problèmes liés au formulaire de demande de renseignements sur le véhicule, au formulaire de réservation d'essai routier, à la distribution des e-mails, à la gestion des leads et aux paramètres de notification dans l'extension ADP Car Market Hub.
Quand utiliser ce document
Lisez ce document lorsque :
- Les visiteurs soumettent le formulaire de contact mais aucun e-mail de notification n'arrive chez le concessionnaire ou le destinataire configuré.
- Les visiteurs ne reçoivent pas d'e-mail de confirmation après avoir soumis une demande.
- La soumission du formulaire semble réussir (le visiteur voit un message de réussite) mais aucun lead n'est enregistré dans l'administration.
- Le formulaire renvoie un message d'erreur ou redirige vers un état d'erreur.
- La soumission du formulaire est bloquée par la protection anti-spam.
- Les notifications par e-mail sont envoyées au mauvais destinataire.
- Les objets d'e-mail personnalisés ou les modèles de corps de message avec des espaces réservés ne s'affichent pas correctement.
- La case à cocher de consentement est manquante ou le formulaire ne peut pas être soumis.
Aperçu
Le formulaire de contact intégré de l'extension traite les demandes de renseignements sur les véhicules et les demandes d'essai routier soumises par les visiteurs du site. Lorsqu'un formulaire valide est soumis :
- Un e-mail de notification est envoyé au destinataire du concessionnaire.
- Un e-mail de confirmation est envoyé au visiteur (le lead).
- Les détails du lead sont enregistrés en tant que type de publication personnalisé WordPress (
as24ci_lead) et peuvent être consultés dans la section Leads de l'administration de l'extension. - Un événement d'analyse de lead est suivi (si l'analyse est activée).
Les deux e-mails sont envoyés à l'aide de la fonction wp_mail() de WordPress. La distribution dépend de la configuration de messagerie du site, qui peut utiliser la fonction intégrée mail() de PHP ou une extension SMTP tierce.
Protection anti-spam
Le formulaire utilise deux couches de protection :
- Champ Honeypot : un champ masqué nommé
websiteest inclus dans le formulaire. Si un robot le remplit, la soumission est traitée comme réussie du point de vue du visiteur mais est discrètement rejetée sans envoyer d'e-mail. - Limitation du débit : un maximum de 5 soumissions par adresse IP par fenêtre de 5 minutes est appliqué à l'aide d'un transient WordPress. Les soumissions au-delà de cette limite redirigent le visiteur vers un état d'erreur.
Résolution du destinataire
L'e-mail de notification du concessionnaire est envoyé à la première adresse valide trouvée dans cette chaîne de priorité :
- Surcharge globale (réglage
LEAD_RECIPIENT_EMAIL) : une ou plusieurs adresses e-mail séparées par des virgules configurées dans les réglages de l'extension. Toutes les adresses valides de cette liste reçoivent la notification. - E-mail du profil du vendeur : une adresse e-mail personnalisée stockée dans le champ de métadonnées utilisateur
as24ci_seller_emailpour l'utilisateur associé au véhicule. - E-mail de l'auteur WordPress : l'adresse e-mail de l'utilisateur WordPress attribué comme auteur de la publication du véhicule.
- E-mail de secours de l'administrateur : l'adresse e-mail de l'administrateur du site WordPress (option
admin_email).
Prérequis
- Au moins une publication de véhicule est publiée pour que le formulaire puisse y être associé.
- Le site peut envoyer des e-mails. Vérifiez cela en utilisant Outils → Santé du site ou une extension de test d'e-mails transactionnels.
- Pour la distribution SMTP : une extension SMTP (telle que WP Mail SMTP) est configurée avec des identifiants valides.
Étapes de diagnostic
Étape 1 : Confirmer que la distribution des e-mails fonctionne
Avant d'examiner l'extension spécifiquement, confirmez que WordPress peut envoyer des e-mails :
- Utilisez une extension telle que WP Mail SMTP (ou tout outil de test d'e-mail WordPress) pour envoyer un e-mail de test.
- Si l'e-mail de test n'est pas reçu, le problème provient de la configuration du transport de messagerie, et non de l'extension. Configurez une extension SMTP ou contactez votre hébergeur.
Étape 2 : Vérifier que le lead a été enregistré
Même lorsque la distribution de l'e-mail échoue, l'extension enregistre le lead dans la base de données (sauf si la soumission du formulaire a été bloquée par le honeypot ou le limiteur de débit) :
- Allez dans la section Leads de l'administration de l'extension.
- Recherchez le lead le plus récent et confirmez que les détails sont présents (nom, e-mail, véhicule).
- Vérifiez le champ
email_sent. S'il affiche0, l'appelwp_mail()a renvoyé false pour l'un des e-mails ou pour les deux. - Si aucun enregistrement de lead n'existe, soit le formulaire n'a pas été soumis du tout, soit il a été intercepté par le honeypot, soit le CPT
as24ci_leadn'a pas pu être enregistré (vérifiez le journal des erreurs PHP).
Étape 3 : Vérifier l'adresse e-mail du destinataire
- Allez dans les réglages de l'extension et recherchez E-mail du destinataire des leads (la surcharge globale).
- Si ce champ est vide, l'extension se rabat sur l'e-mail du profil du vendeur ou sur l'e-mail WordPress de l'auteur de la publication.
- Vérifiez que l'adresse du destinataire résolue est une adresse e-mail valide et distribuable en vérifiant :
- La valeur dans le réglage du destinataire des leads de l'extension.
- Les métadonnées utilisateur
as24ci_seller_emailpour l'utilisateur vendeur (le cas échéant). - L'e-mail du compte utilisateur WordPress pour l'auteur de la publication. - L'e-mail de l'administrateur WordPress (Settings → General → Administration Email Address).
Étape 4 : Vérifier le filtrage des e-mails et les dossiers de courrier indésirable
- Demandez au destinataire prévu de vérifier son dossier de courrier indésirable ou spam.
- Les e-mails provenant de WordPress via la fonction PHP
mail()manquent souvent d'une authentification SPF/DKIM appropriée et sont fréquemment marqués comme spam. L'installation et la configuration d'une extension SMTP améliorent considérablement la délivrabilité. - Si vous utilisez le SMTP, confirmez que les identifiants sont corrects et que le fournisseur SMTP ne bloque pas le domaine ou l'adresse IP du serveur.
Étape 5 : Examiner l'état d'erreur du formulaire
Si le formulaire redirige vers un message d'erreur (l'URL contient as24ci_contact_ok=0), les causes probables sont :
- Champs obligatoires invalides ou manquants : le formulaire requiert un ID de véhicule valide, un nom non vide et une adresse e-mail valide. Si le champ de message est activé (par défaut), un message non vide est également requis.
- Limite de débit dépassée : plus de 5 soumissions depuis la même adresse IP dans une fenêtre de 5 minutes. Le visiteur doit attendre avant de soumettre à nouveau.
- Échec de wp_mail() : les deux e-mails ont renvoyé false. Le lead est tout de même enregistré mais l'état d'erreur est affiché au visiteur.
Pour déterminer quelle cause s'applique, examinez la liste d'administration des leads pour voir si une entrée a été créée, et vérifiez le champ email_sent.
Étape 6 : Vérifier la case à cocher de consentement
Si le formulaire ne peut pas être soumis car la case à cocher de consentement est obligatoire :
- Confirmez que l'option Exiger le consentement est activée dans les réglages de l'extension (par défaut : activée).
- Confirmez que le texte du libellé de consentement est correctement défini.
- Si une URL de page de confidentialité est configurée, confirmez que le lien dans le libellé de consentement pointe vers la bonne page.
- Le formulaire valide le champ de consentement côté serveur. Si un visiteur ne le coche pas, la soumission est rejetée et il est redirigé vers l'état d'erreur.
Étape 7 : Vérifier les modèles d'e-mail personnalisés
Si des objets personnalisés ou des modèles de corps HTML sont configurés (dans les réglages de messagerie de l'extension), vérifiez que :
- Le modèle est du code HTML valide.
- Les jetons d'espace réservé utilisent le format correct :
{placeholder_name}avec des accolades. Les espaces réservés pris en charge sont : -{customer_name}-{customer_email}-{customer_phone}-{customer_message}-{vehicle_title}-{vehicle_url}-{vehicle_price}-{dealer_name}-{listing_id}-{appointment_date} - Si un modèle personnalisé est configuré mais qu'un espace réservé est mal orthographié, il apparaîtra sous forme de texte littéral
{placeholder_name}dans l'e-mail envoyé. - Si le champ du modèle personnalisé est vide, l'extension utilise son modèle HTML intégré comme solution de secours.
Étape 8 : Demandes d'essai routier
Les soumissions de formulaires d'essai routier suivent le même chemin de code que les demandes standard avec une validation supplémentaire :
- Une date et un créneau horaire doivent tous deux être sélectionnés. Si l'un ou l'autre est manquant ou si la date est passée, la soumission se rabat sur une demande de contact standard.
- Le créneau horaire doit être l'un des créneaux disponibles renvoyés par l'API de disponibilité des essais routiers. Si aucun créneau n'est disponible pour la date sélectionnée, la validation du créneau échoue.
- L'objet et le corps de l'e-mail pour les soumissions d'essai routier utilisent un texte par défaut différent de celui des demandes standard (« Demande d'essai routier » contre « Demande de renseignements sur le véhicule »).
Référence de configuration
| Réglage | Description |
|---|---|
| E-mail du destinataire des leads | Surcharge globale pour le destinataire de la notification. Séparé par des virgules pour plusieurs adresses. Si vide, l'e-mail du vendeur ou de l'auteur est utilisé. |
| Afficher le champ Nom | Contrôle si le champ nom est affiché (par défaut : affiché ; toujours obligatoire). |
| Afficher le champ E-mail | Contrôle si le champ e-mail est affiché (par défaut : affiché ; toujours obligatoire). |
| Afficher le champ Téléphone | Contrôle si le champ téléphone est affiché (par défaut : affiché ; non obligatoire). |
| Afficher le champ Message | Contrôle si le champ message est affiché (par défaut : affiché). |
| Exiger un message | Lorsque le champ message est affiché, un message vide empêche la soumission. |
| Exiger le consentement | Lorsqu'il est activé, le visiteur doit cocher la case de consentement (par défaut : activé). |
| Texte du libellé de consentement | Texte personnalisé pour le libellé de la case à cocher de consentement. |
| URL de la page de confidentialité | URL de la page de politique de confidentialité, liée depuis le libellé de consentement. |
| Message de réussite | Texte personnalisé affiché après une soumission réussie. |
| Message d'erreur | Texte personnalisé affiché en cas d'échec de la soumission. |
| Objet de l'e-mail du concessionnaire | Objet personnalisé pour la notification du concessionnaire. Prend en charge les espaces réservés. |
| Objet de l'e-mail du client | Objet personnalisé pour la confirmation du visiteur. Prend en charge les espaces réservés. |
| Modèle d'e-mail du concessionnaire | Corps HTML personnalisé pour la notification du concessionnaire. Prend en charge les espaces réservés. |
| Modèle d'e-mail du client | Corps HTML personnalisé pour la confirmation du visiteur. Prend en charge les espaces réservés. |
Notes opérationnelles
- La notification du concessionnaire et la confirmation du visiteur sont toutes deux envoyées à l'aide de
wp_mail(). Si l'un des appels renvoie false, le formulaire redirige vers l'état d'erreur. Le lead est tout de même enregistré dans tous les cas. - L'en-tête
Reply-Tode l'e-mail de notification du concessionnaire est défini avec le nom et l'adresse e-mail du visiteur, afin que le concessionnaire puisse répondre directement au visiteur depuis son client de messagerie. - La limitation du débit utilise un transient WordPress associé à un hachage SHA-256 de l'adresse IP du visiteur et du grain de sel d'authentification WordPress. Le hachage empêche le stockage de l'IP en texte brut. La limite est de 5 soumissions par IP toutes les 5 minutes.
- Le champ honeypot est masqué par CSS dans les modèles de l'extension. Si une extension de performance ou de sécurité supprime les styles en ligne ou bloque certaines classes CSS, le champ honeypot peut devenir visible pour les vrais visiteurs. Testez le formulaire après avoir activé des extensions de sécurité.
- Les leads sont stockés dans un type de publication personnalisé non public (
as24ci_lead) avec le statutnew,contacted,closedouspam. Ils sont visibles uniquement dans la section Leads de l'administration de l'extension, et non dans la liste publique des publications WordPress. - L'extension ne stocke pas le contenu des e-mails ni les adresses IP complètes dans la base de données. L'enregistrement du lead stocke le nom du contact, son e-mail, son téléphone, son message, la référence du véhicule, la date de soumission et le statut de distribution de l'e-mail.
Dépannage
| Symptôme | Cause probable | Vérification |
|---|---|---|
| Aucun e-mail reçu par le concessionnaire | Échec de wp_mail() ou e-mail marqué comme spam | Envoyer un e-mail de test WordPress ; vérifier le dossier spam ; configurer le SMTP |
| Aucun e-mail de confirmation reçu par le visiteur | Même échec de wp_mail() | Vérifier la liste des leads pour email_sent = 0 ; vérifier le SMTP |
| Lead non enregistré | Honeypot déclenché ou échec de l'enregistrement du CPT | Vérifier si une entrée de lead existe ; consulter le journal des erreurs PHP |
| Le formulaire affiche une erreur après soumission | Champs obligatoires manquants, limite de débit ou échec de wp_mail() | Vérifier le paramètre d'URL as24ci_contact_ok=0 ; consulter la liste des leads |
| Le formulaire ne peut pas être soumis (consentement) | Case de consentement non cochée | Le visiteur doit cocher le consentement ; vérifier que le consentement est requis dans les réglages |
| L'e-mail est envoyé au mauvais destinataire | Résolution du destinataire renvoyant vers la valeur de secours | Définir une surcharge globale dans le réglage de l'e-mail du destinataire du lead |
L'espace réservé {vehicle_title} s'affiche en texte brut | Faute de frappe dans le modèle personnalisé | Vérifier l'orthographe de l'espace réservé dans le modèle d'e-mail personnalisé |
| Limite de débit bloquant les soumissions légitimes | L'adresse IP soumet trop de requêtes | Attendre 5 minutes ; si le problème persiste, vérifier la présence d'un NAT partagé ou d'un proxy |
| Date d'essai routier non acceptée | Date dans le passé ou format invalide | Vérifier que le visiteur sélectionne une date future au format correct |
| Heure d'essai routier non acceptée | Créneau non disponible ou format invalide | Vérifier que les créneaux sont configurés ; le créneau doit être disponible pour la date sélectionnée |