Documentatie · Probleemoplossing
E-mail- en leadfouten
Dit document behandelt problemen met betrekking tot het voertuigaanvraagformulier, het proefritaanvraagformulier, de e-mailverzending, het leadbeheer en de meldingsinstellingen in de ADP Car Market Hub plugin.
Wanneer u dit document moet gebruiken
Lees dit document wanneer:
- Bezoekers het contactformulier verzenden, maar er geen meldingsmail aankomt bij de dealer of de geconfigureerde ontvanger.
- Bezoekers geen bevestigingsmail ontvangen na het indienen van een aanvraag.
- De formulierverzending succesvol lijkt te zijn (de bezoeker ziet een succesmelding), maar er geen lead wordt opgeslagen in de beheeromgeving.
- Het formulier een foutmelding retourneert of doorverwijst naar een foutstatus.
- De formulierverzending wordt geblokkeerd door spambeveiliging.
- E-mailmeldingen naar de verkeerde ontvanger worden gestuurd.
- Aangepaste e-mailonderwerpen of body-sjablonen met tijdelijke aanduidingen (placeholders) niet correct worden weergegeven.
- Het toestemmingsvinkje ontbreekt of het formulier niet kan worden verzonden.
Overzicht
Het ingebouwde contactformulier van de plugin verwerkt voertuigaanvragen en proefritaanvragen die door sitebezoekers worden ingediend. Wanneer een geldig formulier wordt verzonden:
- Er wordt een meldingsmail verzonden naar de ontvanger van de dealer.
- Er wordt een bevestigingsmail verzonden naar de bezoeker (de lead).
- De leadgegevens worden opgeslagen als een WordPress custom post (
as24ci_lead) en kunnen worden bekeken in de sectie Leads van het beheerderspaneel van de plugin. - Er wordt een lead-analysegebeurtenis bijgehouden (als analytics is ingeschakeld).
Beide e-mails worden verzonden met de functie wp_mail() van WordPress. De bezorging is afhankelijk van de e-mailconfiguratie van de site, die gebruik kan maken van de ingebouwde PHP-functie mail() of een SMTP-plugin van derden.
Spambeveiliging
Het formulier maakt gebruik van twee beveiligingslagen:
- Honeypot-veld: er is een verborgen veld genaamd
websiteopgenomen in het formulier. Als een bot dit invult, wordt de verzending vanuit het perspectief van de bezoeker als succesvol behandeld, maar wordt deze in stilte weggegooid zonder dat er een e-mail wordt verzonden. - Snelheidslimiet (Rate limiting): er wordt een maximum van 5 verzendingen per IP-adres per venster van 5 minuten afgedwongen met behulp van een WordPress transient. Verzendingen die deze limiet overschrijden, verwijzen de bezoeker door naar een foutstatus.
Ontvangersbepaling
De meldingsmail voor de dealer wordt verzonden naar het eerste geldige adres dat in deze prioriteitsvolgorde wordt gevonden:
- Globale overschrijving (instelling
LEAD_RECIPIENT_EMAIL): een of meer door komma's gescheiden e-mailadressen die zijn geconfigureerd in de plugin-instellingen. Alle geldige adressen in deze lijst ontvangen de melding. - E-mailadres van het verkopersprofiel: een aangepast e-mailadres dat is opgeslagen in het user meta-veld
as24ci_seller_emailvoor de gebruiker die aan het voertuig is gekoppeld. - E-mailadres van de WordPress-auteur: het e-mailadres van de WordPress-gebruiker die is toegewezen als de auteur van het voertuigbericht.
- Fallback naar admin-e-mail: het e-mailadres van de WordPress-sitebeheerder (optie
admin_email).
Systeemvereisten
- Er is ten minste één voertuigbericht gepubliceerd waarmee het formulier kan worden geassocieerd.
- De site kan e-mails verzenden. Controleer dit via Gereedschap → Systeemservice of een plugin voor het testen van transactionele e-mails.
- Voor SMTP-bezorging: een SMTP-plugin (zoals WP Mail SMTP) is geconfigureerd met geldige inloggegevens.
Diagnostische stappen
Stap 1: Bevestig dat de e-mailbezorging werkt
Voordat u de plugin specifiek onderzoekt, moet u controleren of WordPress überhaupt e-mail kan verzenden:
- Gebruik een plugin zoals WP Mail SMTP (of een andere WordPress e-mailtesttool) om een teste-mail te sturen.
- Als de teste-mail niet wordt ontvangen, ligt het probleem bij de configuratie van het e-mailtransport en niet bij de plugin. Configureer een SMTP-plugin of neem contact op met uw hostingprovider.
Stap 2: Controleer of de lead is opgeslagen
Zelfs wanneer de e-mailbezorging mislukt, slaat de plugin de lead op in de database (tenzij de formulierverzending werd geblokkeerd door de honeypot of de snelheidslimiet):
- Ga naar de sectie Leads in het beheerderspaneel van de plugin.
- Zoek de meest recente lead en controleer of de details aanwezig zijn (naam, e-mail, voertuig).
- Controleer het veld
email_sent. Als dit0toont, retourneerde de aanroepwp_mail()false voor een of beide e-mails. - Als er geen lead-item bestaat, is het formulier ofwel helemaal niet verzonden, is het opgevangen door de honeypot, of is het opslaan van de
as24ci_leadCPT mislukt (controleer het PHP-foutenlogboek).
Stap 3: Controleer het e-mailadres van de ontvanger
- Ga naar de plugin-instellingen en zoek naar E-mailadres leadontvanger (de globale overschrijving).
- Als dit veld leeg is, valt de plugin terug op het e-mailadres van het verkopersprofiel of het WordPress-e-mailadres van de auteur van het bericht.
- Controleer of het vastgestelde ontvangersadres een geldig, bezorgbaar e-mailadres is door het volgende te controleren:
- De waarde in de instelling voor de leadontvanger van de plugin.
- De
as24ci_seller_emailuser meta voor de verkoper-gebruiker (indien van toepassing). - Het WordPress-gebruikersaccount-e-mailadres voor de auteur van het bericht. - Het WordPress-beheerders-e-mailadres (Settings → General → Administration Email Address).
Stap 4: Controleer op e-mailfiltering en spammappen
- Vraag de beoogde ontvanger om de map met ongewenste e-mail of spam te controleren.
- E-mail verzonden vanaf WordPress met behulp van PHP
mail()mist vaak de juiste SPF/DKIM-authenticatie en wordt vaak als spam gemarkeerd. Het installeren en configureren van een SMTP-plugin verbetert de bezorgbaarheid aanzienlijk. - Als u SMTP gebruikt, controleer dan of de inloggegevens correct zijn en of de SMTP-provider het domein of IP-adres van de server niet blokkeert.
Stap 5: Onderzoek de foutstatus van het formulier
Als het formulier doorverwijst naar een foutmelding (de URL bevat as24ci_contact_ok=0), zijn de waarschijnlijke oorzaken:
- Ongeldige of ontbrekende verplichte velden: het formulier vereist een geldig voertuig-ID, een niet-lege naam en een geldig e-mailadres. Als het berichtveld is ingeschakeld (standaard), is een niet-leeg bericht ook vereist.
- Snelheidslimiet overschreden: meer dan 5 verzendingen vanaf hetzelfde IP-adres in een venster van 5 minuten. De bezoeker moet wachten voordat hij opnieuw kan verzenden.
- wp_mail() mislukt: beide e-mails retourneerden false. De lead is nog steeds opgeslagen, maar de foutstatus wordt aan de bezoeker getoond.
Om te bepalen welke oorzaak van toepassing is, bekijkt u de leads-beheerderslijst om te zien of er een item is aangemaakt, en controleert u het veld email_sent.
Stap 6: Controleer het toestemmingsvinkje
Als het formulier niet kan worden verzonden omdat het toestemmingsvinkje verplicht is:
- Controleer of de optie Toestemming vereisen is ingeschakeld in de plugin-instellingen (standaard: ingeschakeld).
- Controleer of de tekst van het toestemmingslabel correct is ingesteld.
- Als er een URL voor de privacy-pagina is geconfigureerd, controleer dan of de link in het toestemmingslabel naar de juiste pagina verwijst.
- Het formulier valideert het toestemmingsveld aan de serverzijde. Als een bezoeker dit niet aanvinkt, wordt de verzending geweigerd en wordt deze doorverwezen naar de foutstatus.
Stap 7: Controleer aangepaste e-mailsjablonen
Als er aangepaste onderwerpregels of HTML-body-sjablonen zijn geconfigureerd (in de e-mailinstellingen van de plugin), controleer dan of:
- Het sjabloon geldige HTML is.
- Tijdelijke aanduidingen (placeholders) het juiste formaat gebruiken:
{placeholder_name}met accolades. Ondersteunde placeholders zijn: -{customer_name}-{customer_email}-{customer_phone}-{customer_message}-{vehicle_title}-{vehicle_url}-{vehicle_price}-{dealer_name}-{listing_id}-{appointment_date} - Als een aangepast sjabloon is geconfigureerd maar een placeholder verkeerd is gespeld, verschijnt deze als de letterlijke tekst
{placeholder_name}in de verzonden e-mail. - Als het veld voor het aangepaste sjabloon leeg is, gebruikt de plugin zijn ingebouwde HTML-sjabloon als fallback.
Stap 8: Proefritaanvragen
Verzendingen van het proefritformulier volgen hetzelfde codepad als standaardaanvragen met aanvullende validatie:
- Er moet zowel een datum als een tijdslot worden geselecteerd. Als een van beide ontbreekt of de datum in het verleden ligt, valt de verzending terug op een standaard contactaanvraag.
- Het tijdslot moet een van de beschikbare slots zijn die worden geretourneerd door de API voor proefritbeschikbaarheid. Als er geen slots beschikbaar zijn voor de geselecteerde datum, mislukt de slotvalidatie.
- De onderwerpregel en de e-mailbody voor proefritaanvragen gebruiken een andere standaardtekst dan standaardaanvragen ("Proefritaanvraag" versus "Voertuigaanvraag").
Configuratiereferentie
| Instelling | Beschrijving |
|---|---|
| E-mailadres leadontvanger | Globale overschrijving voor de ontvanger van de melding. Door komma's gescheiden voor meerdere adressen. Indien leeg, wordt het e-mailadres van de verkoper of auteur gebruikt. |
| Veld Naam tonen | Bepaalt of het naamveld wordt getoond (standaard: getoond; altijd verplicht). |
| Veld E-mail tonen | Bepaalt of het e-mailveld wordt getoond (standaard: getoond; altijd verplicht). |
| Veld Telefoon tonen | Bepaalt of het telefoonveld wordt getoond (standaard: getoond; niet verplicht). |
| Veld Bericht tonen | Bepaalt of het berichtveld wordt getoond (standaard: getoond). |
| Bericht vereisen | Wanneer het berichtveld wordt getoond, voorkomt een leeg bericht de verzending. |
| Toestemming vereisen | Indien ingeschakeld, moet de bezoeker het toestemmingsvinkje inschakelen (standaard: ingeschakeld). |
| Tekst toestemmingslabel | Aangepaste tekst voor het label van het toestemmingsvinkje. |
| URL privacy-pagina | URL van de privacybeleidspagina, gelinkt vanaf het toestemmingslabel. |
| Succesmelding | Aangepaste tekst die wordt getoond na een succesvolle verzending. |
| Foutmelding | Aangepaste tekst die wordt getoond wanneer de verzending mislukt. |
| Onderwerp e-mail dealer | Aangepaste onderwerpregel voor de dealermelding. Ondersteunt placeholders. |
| Onderwerp e-mail klant | Aangepaste onderwerpregel voor de bevestiging van de bezoeker. Ondersteunt placeholders. |
| E-mailsjabloon dealer | Aangepaste HTML-body voor de dealermelding. Ondersteunt placeholders. |
| E-mailsjabloon klant | Aangepaste HTML-body voor de bevestiging van de bezoeker. Ondersteunt placeholders. |
Operationele opmerkingen
- Zowel de dealermelding als de bezoekerbevestiging worden verzonden met
wp_mail(). Als een van beide aanroepen false retourneert, verwijst het formulier door naar de foutstatus. De lead wordt desondanks nog steeds opgeslagen. - De
Reply-To-header van de dealermeldingsmail is ingesteld op de naam en het e-mailadres van de bezoeker, zodat de dealer rechtstreeks vanuit zijn e-mailclient op de bezoeker kan reageren. - Snelheidslimieten maken gebruik van een WordPress transient die is gekoppeld aan een SHA-256 hash van het IP-adres van de bezoeker en de WordPress auth salt. De hash voorkomt dat het IP-adres in platte tekst wordt opgeslagen. De limiet is 5 verzendingen per IP per 5 minuten.
- Het honeypot-veld is verborgen via CSS in de sjablonen van de plugin. Als een prestatie- of beveiligingsplugin inline stijlen verwijdert of bepaalde CSS-klassen blokkeert, kan het honeypot-veld zichtbaar worden voor echte bezoekers. Test het formulier na het inschakelen van beveiligingsplugins.
- Leads worden opgeslagen in een niet-openbaar custom post type (
as24ci_lead) met de statusnew,contacted,closedofspam. Ze zijn alleen zichtbaar in de sectie Leads van het beheerderspaneel van de plugin, niet in de openbare WordPress-berichtenlijst. - De plugin slaat geen e-mailinhoud of volledige IP-adressen op in de database. Het leadrecord slaat de naam, het e-mailadres, het telefoonnummer, het bericht, de voertuigreferentie, de verzenddatum en de e-mailbezorgingsstatus van de contactpersoon op.
Probleemoplossing
| Symptoom | Waarschijnlijke oorzaak | Controleer |
|---|---|---|
| Geen e-mail ontvangen door dealer | wp_mail() mislukt of e-mail gemarkeerd als spam | Verzend een WordPress test-e-mail; controleer de spammapp; configureer SMTP |
| Geen bevestigingsmail ontvangen door bezoeker | Zelfde wp_mail() fout | Controleer de leads-lijst op email_sent = 0; verifieer SMTP |
| Lead niet opgeslagen | Honeypot geactiveerd of CPT opslaan mislukt | Controleer of er een lead-item bestaat; bekijk het PHP-foutenlogboek |
| Formulier toont fout na verzenden | Ontbrekende verplichte velden, limiet bereikt of wp_mail() fout | Controleer URL-parameter as24ci_contact_ok=0; bekijk de leads-lijst |
| Formulier kan niet worden verzonden (toestemming) | Toestemmingsvakje niet aangevinkt | Bezoeker moet toestemming aanvinken; verifieer of toestemming vereist is in de instellingen |
| E-mail gaat naar verkeerde ontvanger | Ontvangerresolutie valt terug op fallback | Stel een globale override in bij de instelling voor het e-mailadres van de leadontvanger |
Placeholder {vehicle_title} wordt als letterlijke tekst getoond | Typfout in aangepast sjabloon | Verifieer de spelling van de placeholder in het aangepaste e-mailsjabloon |
| Rate limit blokkeert legitieme inzendingen | IP-adres verzendt te veel verzoeken | Wacht 5 minuten; indien aanhoudend, controleer op gedeelde NAT of proxy |
| Proefritdatum niet geaccepteerd | Datum in het verleden of ongeldig formaat | Verifieer of de bezoeker een toekomstige datum in het juiste formaat selecteert |
| Proefrittijd niet geaccepteerd | Tijdslot niet beschikbaar of ongeldig formaat | Verifieer of de tijdsloten zijn geconfigureerd; het tijdslot moet beschikbaar zijn voor de geselecteerde datum |