Dokumentation · Fehlerbehebung
E-Mail- und Lead-Fehler
Dieses Dokument behandelt Probleme im Zusammenhang mit dem Fahrzeuganfrageformular, dem Probefahrt-Buchungsformular, dem E-Mail-Versand, dem Lead-Management und den Benachrichtigungseinstellungen im ADP Car Market Hub-Plugin.
Wann Sie dieses Dokument lesen sollten
Lesen Sie dieses Dokument, wenn:
- Besucher das Kontaktformular absenden, aber keine Benachrichtigungs-E-Mail bei der Garage oder dem konfigurierten Empfänger eingeht.
- Besucher nach dem Absenden einer Anfrage keine Bestätigungs-E-Mail erhalten.
- Das Absenden des Formulars erfolgreich zu sein scheint (der Besucher sieht eine Erfolgsmeldung), aber kein Lead im Admin-Bereich gespeichert wird.
- Das Formular eine Fehlermeldung zurückgibt oder auf eine Fehlerseite weiterleitet.
- Das Absenden des Formulars durch den Spamschutz blockiert wird.
- E-Mail-Benachrichtigungen an den falschen Empfänger gesendet werden.
- Benutzerdefinierte E-Mail-Betreffzeilen oder Vorlagen für den E-Mail-Inhalt mit Platzhaltern nicht korrekt gerendert werden.
- Das Kontrollkästchen für die Einwilligung fehlt oder das Formular nicht abgesendet werden kann.
Übersicht
Das integrierte Kontaktformular des Plugins verarbeitet Fahrzeuganfragen und Probefahrtanfragen, die von Website-Besuchern abgesendet werden. Wenn ein gültiges Formular abgesendet wird:
- Eine Benachrichtigungs-E-Mail wird an den Empfänger der Garage gesendet.
- Eine Bestätigungs-E-Mail wird an den Besucher (den Lead) gesendet.
- Die Lead-Details werden als benutzerdefinierter Post-Typ WordPress (
as24ci_lead) gespeichert und können im Admin-Bereich des Plugins unter Leads eingesehen werden. - Ein Lead-Analytics-Event wird erfasst (sofern Analytics aktiviert ist).
Beide E-Mails werden über die Funktion wp_mail() von WordPress versendet. Die Zustellung hängt von der E-Mail-Konfiguration der Website ab, die entweder die integrierte PHP-Funktion mail() oder ein SMTP-Plugin eines Drittanbieters verwenden kann.
Spamschutz
Das Formular verwendet zwei Schutzebenen:
- Honeypot-Feld: Ein verstecktes Feld namens
websiteist im Formular enthalten. Wenn ein Bot dieses ausfüllt, wird die Übermittlung aus Sicht des Besuchers als erfolgreich behandelt, aber im Hintergrund ohne E-Mail-Versand verworfen. - Ratenbegrenzung (Rate Limiting): Über ein WordPress-Transient wird ein Limit von maximal 5 Übermittlungen pro IP-Adresse innerhalb eines 5-Minuten-Fensters erzwungen. Übermittlungen, die dieses Limit überschreiten, leiten den Besucher auf eine Fehlerseite weiter.
Empfänger-Ermittlung
Die Benachrichtigungs-E-Mail für die Garage wird an die erste gültige Adresse gesendet, die in dieser Prioritätskette gefunden wird:
- Globale Überschreibung (Einstellung
LEAD_RECIPIENT_EMAIL): Eine oder mehrere kommagetrennte E-Mail-Adressen, die in den Plugin-Einstellungen konfiguriert sind. Alle gültigen Adressen in dieser Liste erhalten die Benachrichtigung. - E-Mail des Verkäuferprofils: Eine benutzerdefinierte E-Mail-Adresse, die im User-Meta-Feld
as24ci_seller_emailfür den mit dem Fahrzeug verknüpften Benutzer gespeichert ist. - WordPress-Autoren-E-Mail: Die E-Mail-Adresse des WordPress-Benutzers, der als Post-Autor des Fahrzeugs zugewiesen ist.
- Admin-E-Mail-Fallback: Die E-Mail-Adresse des WordPress-Website-Administrators (Option
admin_email).
Voraussetzungen
- Mindestens ein Fahrzeug-Post ist veröffentlicht, damit das Formular damit verknüpft werden kann.
- Die Website kann E-Mails versenden. Überprüfen Sie dies unter Werkzeuge → Website-Zustand oder mit einem Plugin zum Testen von transaktionalen E-Mails.
- Für den SMTP-Versand: Ein SMTP-Plugin (wie WP Mail SMTP) ist mit gültigen Zugangsdaten konfiguriert.
Diagnoseschritte
Schritt 1: Funktion des E-Mail-Versands bestätigen
Bevor Sie das Plugin im Detail untersuchen, stellen Sie sicher, dass WordPress überhaupt E-Mails versenden kann:
- Verwenden Sie ein Plugin wie WP Mail SMTP (oder ein beliebiges WordPress-E-Mail-Testwerkzeug), um eine Test-E-Mail zu senden.
- Wenn die Test-E-Mail nicht empfangen wird, liegt das Problem an der Konfiguration des E-Mail-Transports und nicht am Plugin. Konfigurieren Sie ein SMTP-Plugin oder kontaktieren Sie Ihren Hosting-Anbieter.
Schritt 2: Überprüfen, ob der Lead gespeichert wurde
Selbst wenn der E-Mail-Versand fehlschlägt, speichert das Plugin den Lead in der Datenbank (es sei denn, das Absenden des Formulars wurde durch den Honeypot oder die Ratenbegrenzung blockiert):
- Navigieren Sie im Admin-Bereich des Plugins zum Bereich Leads.
- Suchen Sie nach dem neuesten Lead und vergewissern Sie sich, dass die Details vorhanden sind (Name, E-Mail, Fahrzeug).
- Überprüfen Sie das Feld
email_sent. Wenn es0anzeigt, hat der Aufruf vonwp_mail()für eine oder beide E-Mails den Wert false zurückgegeben. - Wenn kein Lead-Eintrag existiert, wurde das Formular entweder überhaupt nicht abgesendet, es wurde vom Honeypot abgefangen oder das Speichern des CPT
as24ci_leadist fehlgeschlagen (überprüfen Sie das PHP-Fehlerprotokoll).
Schritt 3: Empfänger-E-Mail-Adresse überprüfen
- Gehen Sie zu den Plugin-Einstellungen und suchen Sie nach Lead-Empfänger-E-Mail (die globale Überschreibung).
- Wenn dieses Feld leer ist, fällt das Plugin auf die E-Mail des Verkäuferprofils oder die WordPress-E-Mail des Post-Autors zurück.
- Überprüfen Sie, ob die ermittelte Empfängeradresse eine gültige, zustellbare E-Mail-Adresse ist, indem Sie Folgendes prüfen:
- Den Wert in der Lead-Empfänger-Einstellung des Plugins.
- Das User-Meta-Feld
as24ci_seller_emailfür den Verkäufer-Benutzer (falls zutreffend). - Die E-Mail-Adresse des WordPress-Benutzerkontos für den Post-Autor. - Die WordPress-Admin-E-Mail (Settings → General → Administration Email Address).
Schritt 4: E-Mail-Filter und Spam-Ordner prüfen
- Bitten Sie den vorgesehenen Empfänger, seinen Spam- oder Junk-Ordner zu überprüfen.
- E-Mails, die von WordPress über PHP
mail()versendet werden, fehlt oft eine korrekte SPF/DKIM-Authentifizierung, weshalb sie häufig als Spam markiert werden. Die Installation und Konfiguration eines SMTP-Plugins verbessert die Zustellbarkeit erheblich. - Wenn Sie SMTP verwenden, vergewissern Sie sich, dass die Zugangsdaten korrekt sind und der SMTP-Anbieter die Domain oder die IP-Adresse des Servers nicht blockiert.
Schritt 5: Den Fehlerzustand des Formulars untersuchen
Wenn das Formular auf eine Fehlermeldung weiterleitet (die URL enthält as24ci_contact_ok=0), sind die wahrscheinlichen Ursachen:
- Ungültige oder fehlende Pflichtfelder: Das Formular erfordert eine gültige Fahrzeug-ID, einen nicht leeren Namen und eine gültige E-Mail-Adresse. Wenn das Nachrichtenfeld aktiviert ist (Standard), ist auch eine nicht leere Nachricht erforderlich.
- Ratenbegrenzung überschritten: Mehr als 5 Übermittlungen von derselben IP-Adresse innerhalb eines 5-Minuten-Fensters. Der Besucher muss warten, bevor er es erneut versuchen kann.
- wp_mail() fehlgeschlagen: Beide E-Mails gaben false zurück. Der Lead wird zwar gespeichert, dem Besucher wird jedoch der Fehlerzustand angezeigt.
Um festzustellen, welche Ursache zutrifft, überprüfen Sie die Leads-Liste im Admin-Bereich, um zu sehen, ob ein Eintrag erstellt wurde, und kontrollieren Sie das Feld email_sent.
Schritt 6: Das Kontrollkästchen für die Einwilligung überprüfen
Wenn das Formular nicht abgesendet werden kann, weil das Kontrollkästchen für die Einwilligung erforderlich ist:
- Vergewissern Sie sich, dass die Option Einwilligung erforderlich in den Plugin-Einstellungen aktiviert ist (Standard: aktiviert).
- Stellen Sie sicher, dass der Text für das Einwilligungs-Label korrekt hinterlegt ist.
- Wenn eine URL für die Datenschutzseite konfiguriert ist, überprüfen Sie, ob der Link im Einwilligungs-Label auf die richtige Seite verweist.
- Das Formular validiert das Einwilligungsfeld serverseitig. Wenn ein Besucher es nicht aktiviert, wird die Übermittlung abgelehnt und er wird auf die Fehlerseite weitergeleitet.
Schritt 7: Benutzerdefinierte E-Mail-Vorlagen überprüfen
Wenn benutzerdefinierte Betreffzeilen oder HTML-Inhaltsvorlagen konfiguriert sind (in den E-Mail-Einstellungen des Plugins), überprüfen Sie Folgendes:
- Die Vorlage ist gültiges HTML.
- Platzhalter-Tokens verwenden das korrekte Format:
{placeholder_name}mit geschweiften Klammern. Unterstützte Platzhalter sind: -{customer_name}-{customer_email}-{customer_phone}-{customer_message}-{vehicle_title}-{vehicle_url}-{vehicle_price}-{dealer_name}-{listing_id}-{appointment_date} - Wenn eine benutzerdefinierte Vorlage konfiguriert ist, aber ein Platzhalter falsch geschrieben wurde, wird dieser in der gesendeten E-Mail als reiner Text
{placeholder_name}angezeigt. - Wenn das Feld für die benutzerdefinierte Vorlage leer ist, greift das Plugin auf seine integrierte HTML-Vorlage zurück.
Schritt 8: Probefahrtanfragen
Übermittlungen des Probefahrtformulars folgen demselben Codepfad wie Standardanfragen, jedoch mit zusätzlicher Validierung:
- Es müssen sowohl ein Datum als auch ein Zeitfenster ausgewählt werden. Wenn eines davon fehlt oder das Datum in der Vergangenheit liegt, fällt die Übermittlung auf eine Standard-Kontaktanfrage zurück.
- Das Zeitfenster muss eines der verfügbaren Zeitfenster sein, die von der API für die Probefahrt-Verfügbarkeit zurückgegeben werden. Wenn für das ausgewählte Datum keine Zeitfenster verfügbar sind, schlägt die Validierung des Zeitfensters fehl.
- Die Betreffzeile und der E-Mail-Inhalt für Probefahrtanfragen verwenden andere Standardtexte als Standardanfragen („Probefahrtanfrage“ statt „Fahrzeuganfrage“).
Konfigurations-Referenz
| Einstellung | Beschreibung |
|---|---|
| Lead-Empfänger-E-Mail | Globale Überschreibung für den Empfänger der Benachrichtigung. Kommagetrennt für mehrere Adressen. Wenn leer, wird die E-Mail des Verkäufers oder Autors verwendet. |
| Feld „Name“ anzeigen | Steuert, ob das Namensfeld angezeigt wird (Standard: angezeigt; immer erforderlich). |
| Feld „E-Mail“ anzeigen | Steuert, ob das E-Mail-Feld angezeigt wird (Standard: angezeigt; immer erforderlich). |
| Feld „Telefon“ anzeigen | Steuert, ob das Telefonfeld angezeigt wird (Standard: angezeigt; nicht erforderlich). |
| Feld „Nachricht“ anzeigen | Steuert, ob das Nachrichtenfeld angezeigt wird (Standard: angezeigt). |
| Nachricht erforderlich | Wenn das Nachrichtenfeld angezeigt wird, verhindert eine leere Nachricht das Absenden. |
| Einwilligung erforderlich | Wenn aktiviert, muss der Besucher das Kontrollkästchen für die Einwilligung aktivieren (Standard: aktiviert). |
| Text für Einwilligungs-Label | Benutzerdefinierter Text für das Label des Einwilligungs-Kontrollkästchens. |
| URL der Datenschutzseite | URL der Datenschutzrichtlinien-Seite, die im Einwilligungs-Label verlinkt ist. |
| Erfolgsmeldung | Benutzerdefinierter Text, der nach erfolgreichem Absenden angezeigt wird. |
| Fehlermeldung | Benutzerdefinierter Text, der angezeigt wird, wenn das Absenden fehlschlägt. |
| E-Mail-Betreff für Garage | Benutzerdefinierte Betreffzeile für die Benachrichtigung der Garage. Unterstützt Platzhalter. |
| E-Mail-Betreff für Kunde | Benutzerdefinierte Betreffzeile für die Bestätigung des Besuchers. Unterstützt Platzhalter. |
| E-Mail-Vorlage für Garage | Benutzerdefinierter HTML-Inhalt für die Benachrichtigung der Garage. Unterstützt Platzhalter. |
| E-Mail-Vorlage für Kunde | Benutzerdefinierter HTML-Inhalt für die Bestätigung des Besuchers. Unterstützt Platzhalter. |
Betriebliche Hinweise
- Sowohl die Benachrichtigung für die Garage als auch die Bestätigung für den Besucher werden über
wp_mail()versendet. Wenn einer der Aufrufe false zurückgibt, leitet das Formular auf die Fehlerseite weiter. Der Lead wird ungeachtet dessen dennoch gespeichert. - Der Header
Reply-Toder Benachrichtigungs-E-Mail für die Garage wird auf den Namen und die E-Mail-Adresse des Besuchers gesetzt, sodass die Garage direkt aus ihrem E-Mail-Client auf die Anfrage des Besuchers antworten kann. - Die Ratenbegrenzung verwendet ein WordPress-Transient, das auf einem SHA-256-Hash der IP-Adresse des Besuchers und dem Auth-Salt WordPress basiert. Der Hash verhindert, dass die IP-Adresse im Klartext gespeichert wird. Das Limit liegt bei 5 Übermittlungen pro IP und 5 Minuten.
- Das Honeypot-Feld wird in den Vorlagen des Plugins über CSS ausgeblendet. Wenn ein Performance- oder Sicherheits-Plugin Inline-Styles entfernt oder bestimmte CSS-Klassen blockiert, kann das Honeypot-Feld für echte Besucher sichtbar werden. Testen Sie das Formular nach der Aktivierung von Sicherheits-Plugins.
- Leads werden in einem nicht öffentlichen, benutzerdefinierten Post-Typ (
as24ci_lead) mit dem Statusnew,contacted,closedoderspamgespeichert. Sie sind nur im Admin-Bereich des Plugins unter Leads sichtbar, nicht in der öffentlichen WordPress-Post-Liste. - Das Plugin speichert keine E-Mail-Inhalte oder vollständigen IP-Adressen in der Datenbank. Der Lead-Datensatz speichert den Namen, die E-Mail-Adresse, die Telefonnummer, die Nachricht, die Fahrzeugreferenz, das Sendedatum und den Status der E-Mail-Zustellung des Kontakts.
Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Überprüfung |
|---|---|---|
| Keine E-Mail bei der Garage eingegangen | wp_mail() fehlgeschlagen oder E-Mail als Spam markiert | Senden Sie eine WordPress Test-E-Mail; Spam-Ordner prüfen; SMTP konfigurieren |
| Keine Bestätigungs-E-Mail beim Besucher eingegangen | Gleicher wp_mail() Fehler | Lead-Liste auf email_sent = 0 prüfen; SMTP verifizieren |
| Lead nicht gespeichert | Honeypot ausgelöst oder CPT-Speicherung fehlgeschlagen | Prüfen, ob ein Lead-Eintrag existiert; PHP-Fehlerprotokoll prüfen |
| Formular zeigt nach dem Absenden einen Fehler an | Fehlende Pflichtfelder, Rate-Limit oder wp_mail() Fehler | URL-Parameter as24ci_contact_ok=0 prüfen; Lead-Liste prüfen |
| Formular kann nicht abgesendet werden (Einwilligung) | Checkbox für Einwilligung nicht aktiviert | Besucher muss die Einwilligung aktivieren; in den Einstellungen prüfen, ob Einwilligung erforderlich ist |
| E-Mail geht an falschen Empfänger | Empfängerauflösung greift auf Fallback zurück | Globalen Override in den Einstellungen für die Lead-Empfänger-E-Mail festlegen |
Platzhalter {vehicle_title} wird als reiner Text angezeigt | Tippfehler im benutzerdefinierten Template | Schreibweise des Platzhalters im benutzerdefinierten E-Mail-Template überprüfen |
| Rate-Limit blockiert legitime Einsendungen | IP-Adresse sendet zu viele Anfragen | 5 Minuten warten; falls das Problem weiterhin besteht, auf gemeinsam genutztes NAT oder Proxy prüfen |
| Probefahrtdatum nicht akzeptiert | Datum liegt in der Vergangenheit oder ungültiges Format | Sicherstellen, dass der Besucher ein zukünftiges Datum im korrekten Format auswählt |
| Probefahrtzeit nicht akzeptiert | Zeitfenster nicht verfügbar oder ungültiges Format | Sicherstellen, dass die Zeitfenster konfiguriert sind; das Zeitfenster muss für das ausgewählte Datum verfügbar sein |