Gravity Forms ist das Arbeitspferd anspruchsvoller WordPress-Sites – mehrseitige Anwendungen, Registrierungsabläufe, Angebotsanfragen –, und jede einzelne davon hat ein E-Mail-Feld, das das Format prüft und sonst nichts. Um E-Mails aus Gravity Forms zu verifizieren, installieren Sie kein Marken-Plugin; Sie klinken sich in die Übermittlung ein, rufen eine Verifizierungs-API auf und lehnen entweder eine ungültige Adresse direkt ab oder markieren sie im Nachhinein. Dieser Leitfaden behandelt die drei unterstützten Wege: einen PHP-Validierungsfilter, der unzustellbare und Wegwerf-Adressen blockiert, bevor der Eintrag gespeichert wird, das Webhooks-Add-On zum asynchronen Markieren-und-Unterdrücken und einen CSV-Export zum Bereinigen Ihrer Eintragstabelle im Massenverfahren.
Die kurze Antwort#
Gravity Forms bietet Ihnen zwei Integrationspunkte, und welchen Sie wählen, hängt davon ab, ob Sie eine ungültige Adresse stoppen oder nur darauf reagieren möchten:
- Echtzeit, direkt – ein kleines PHP-Snippet am Filter
gform_field_validationruft die Qualisend-API auf, während das Formular validiert wird, und gibt einen Feldfehler zurück, den der Besucher sieht. Dies ist der einzige Ort, an dem Sie eine Adresse ablehnen können, bevor sie zu einem Eintrag wird. - Echtzeit, asynchron – das Webhooks-Add-On sendet nach dem Speichern jeden Eintrag per POST an eine URL, die Sie kontrollieren. Es kann keinen direkten Fehler anzeigen, ist aber perfekt zum Markieren, Weiterleiten oder Unterdrücken unzustellbarer Adressen, bevor sie Ihr E-Mail-Tool erreichen.
- Massenverfahren – exportieren Sie gespeicherte Einträge als CSV und lassen Sie sie regelmäßig durch Qualisends Massenverifizierer laufen. Kein Code, funktioniert mit jeder Lizenz, die Einträge speichert.
Dieser Artikel ist das Gravity-Forms-spezifische Gegenstück zum umfassenderen Leitfaden E-Mails in WordPress-Formularen verifizieren, der Contact Form 7 und WPForms mit denselben Mustern behandelt. Wenn Sie mehr als ein Formular-Plugin betreiben, beginnen Sie dort; wenn Sie voll auf Gravity Forms setzen, finden Sie alles, was Sie brauchen, unten.
Warum das E-Mail-Feld von Gravity Forms nicht ausreicht#
Der Feldtyp email validiert, dass das, was jemand eingegeben hat, wie eine
Adresse aussieht – ein @, eine Domain, keine verirrten Leerzeichen. Das ist eine Formatprüfung, und Format
ist nicht gleich Zustellbarkeit. jane@gmial.com besteht sie. Ebenso
throwaway@mailinator.com, und ebenso ein echt aussehendes Postfach bei einer Domain, die
vor sechs Monaten verfallen ist. Keines davon wird erkannt, bis Sie senden, und dann ist eine
tote Adresse ein Hard Bounce, der an Ihrer
Bounce-Rate und Ihrer Absenderreputation nagt.
Echte Verifizierung fügt die Ebenen hinzu, die Gravity Forms nicht kann: eine DNS-/MX-Abfrage, eine SMTP-Postfachprüfung und Kennzeichnungen für Wegwerf-, Rollen-, Freemail- und Catch-all-Adressen. Wenn Ihnen die Pipeline neu ist, schlüsselt Wie E-Mail-Verifizierung funktioniert jede Prüfung auf und warum sie wichtig ist.
E-Mails aus Gravity Forms beim Absenden verifizieren#
Gravity Forms stellt einen Validierungsfilter auf Feldebene bereit, der während der
Validierung ausgelöst wird, bevor der Eintrag gespeichert wird – das heißt, Sie können das E-Mail-Feld
ungültig machen und dem Besucher eine Fehlermeldung zum Korrigieren geben. Das ist der
Filter gform_field_validation, und er ist der richtige Hook, wenn Sie eine direkte
Sperre statt einer nachträglichen Bereinigung möchten.
Der Callback erhält das aktuelle $result des Felds (mit einem is_valid-Flag und
einer message), den übermittelten $value, das $form und das $field. Sie rufen
die API auf, und wenn das Urteil negativ ist, setzen Sie is_valid auf false und legen die
Nachricht fest. Bewahren Sie den API-Schlüssel in einer wp-config.php-Konstante auf – niemals in einer Formular-
einstellung, einer Theme-Datei oder in Front-End-JavaScript:
// In a code-snippet plugin, or your theme's functions.php.
// In wp-config.php: define( 'QUALISEND_API_KEY', 'YOUR_API_KEY' );
add_filter( 'gform_field_validation', 'qs_gf_verify_email', 10, 4 );
function qs_gf_verify_email( $result, $value, $form, $field ) {
// Only run on email fields that already passed Gravity Forms' own checks.
if ( $field->type !== 'email' || ! $result['is_valid'] ) {
return $result;
}
// An email field with "confirm" enabled hands back an array.
$email = is_array( $value ) ? rgar( $value, 0 ) : $value;
$email = trim( (string) $email );
if ( $email === '' ) {
return $result; // let the field's own required-field check handle empties
}
// Confirm the exact endpoint and request body in /developers.
$response = wp_remote_post( 'https://api.qualisend.com/v1/verify', array(
'timeout' => 4, // cap it so a slow probe can't stall the form
'headers' => array(
'Authorization' => 'Bearer ' . QUALISEND_API_KEY,
'Content-Type' => 'application/json',
),
'body' => wp_json_encode( array( 'email' => $email ) ),
) );
// Fail open: a transient error must never block a real applicant.
if ( is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) !== 200 ) {
return $result;
}
$verdict = json_decode( wp_remote_retrieve_body( $response ), true )['result'] ?? array();
if ( ( $verdict['status'] ?? '' ) === 'undeliverable' ) {
$result['is_valid'] = false;
$result['message'] = "That address doesn't look deliverable — please check it.";
} elseif ( ! empty( $verdict['sub_flags']['disposable'] ) ) {
$result['is_valid'] = false;
$result['message'] = 'Please use a permanent email address.';
}
return $result;
}
Drei Dinge tragen dieses Snippet, und es sind dieselben drei in jeder Sprache:
Halten Sie den Schlüssel serverseitig, begrenzen Sie die Anfrage mit einem kurzen Timeout und lassen Sie im
Fehlerfall durch – wenn der Aufruf fehlschlägt, das Timeout erreicht oder einen Nicht-200-Status zurückgibt, lassen Sie die Übermittlung
durch. Eine Verifizierungs-API ist ein Qualitätsfilter, keine Authentifizierungssperre, und
einen echten Lead durch einen kurzzeitigen Ausfall zu verlieren ist das schlechtere Ergebnis. Für die Mechanik
der Anfrage selbst – Header, Fehlerbehandlung, die Form der result-Antwort
– durchläuft der Leitfaden zur E-Mail-Validierung in PHP denselben Aufruf von Anfang bis Ende.
Ein Hinweis zum Geltungsbereich: Lässt man den Filter global (wie oben), verifiziert er das E-Mail-Feld
in jedem Formular. Um ein einzelnes Formular anzusprechen, klinken Sie sich stattdessen in die formular- und feldspezifische Variante
gform_field_validation_{form_id}_{field_id} ein oder fügen einen frühen
if ( $form['id'] !== 5 ) return $result;-Schutz hinzu. Und wenn Sie feldübergreifend
validieren müssen – etwa nur verifizieren, wenn ein anderes Feld gesetzt ist –, gibt Ihnen der
formularweite Filter gform_validation das gesamte $form und lässt Sie
einzelne Felder als fehlgeschlagen markieren; der obige Feldfilter ist einfacher und ausreichend
für eine einzelne E-Mail-Sperre.
Auf das Urteil reagieren#
Die API gibt ein result-Objekt mit einem status von deliverable, risky,
undeliverable oder unknown zurück, plus einem score von 0–100, einem reason-Code und
Sub-Flags für disposable, role, free und catch_all – dasselbe
$verdict, das das Snippet ausliest. Ordnen Sie jedem eine Formularaktion zu:
| Urteil | Formularaktion |
|---|---|
undeliverable | Direkt ablehnen (Validierungsfilter) oder vor dem Versand verwerfen (Webhook). |
disposable-Flag | Ablehnen oder markieren, je nachdem, wie streng Ihr Formular ist – siehe Rollen-, Wegwerf- & Freemail- Adressen. |
risky / Catch-all | Annehmen, aber markieren – in das Catch-all-Segment weiterleiten und vorsichtig senden. |
unknown | Annehmen. Der Mailserver hat nicht geantwortet – verlieren Sie deswegen niemals eine echte Übermittlung. |
deliverable | Annehmen. |
Verlassen Sie sich bei einem Live-Formular auf die schnellen lokalen Prüfungen – Syntax, Domain, Wegwerf, Rolle –, denn sie kommen schnell zurück und fangen den Großteil des Mülls ab, ohne den Besucher warten zu lassen. Die aufwändigere SMTP-Postfachprüfung passt besser zum Massenverfahren unten, wo ein paar Sekunden Verzögerung niemanden stören.
Der Weg über das Webhooks-Add-On#
Wenn eigenes PHP keine Option ist – oder Sie tote Adressen nur aus Ihrem nachgelagerten Tool heraushalten und nicht das Formular blockieren möchten –, erledigt das Webhooks-Add-On von Gravity Forms das ohne Code. Es ist ein lizenziertes Add-On (in den höheren Gravity-Forms- Lizenzstufen enthalten, prüfen Sie also Ihren Tarif) und löst nach jeder Übermittlung eine konfigurierbare HTTP-Anfrage als Feed aus.
Fügen Sie in den Einstellungen → Webhooks des Formulars einen Feed hinzu: Setzen Sie den Anfragetyp auf
POST, das Format auf JSON, richten Sie die URL auf einen von Ihnen kontrollierten Endpunkt und ordnen Sie das
E-Mail-Feld in den Anfragekörper ein. Da Sie einen API-Schlüssel nicht sicher in die
eigenen Header des Webhooks legen und Qualisend dann von einem Dritten aus aufrufen können, ist das saubere
Muster, den Webhook auf eine kleine serverlose Funktion von Ihnen zu richten – genau das Setup aus dem
Leitfaden zur serverlosen Verifizierung bei der Anmeldung. Diese Funktion hält den Schlüssel,
empfängt den Gravity-Forms-Payload, extrahiert die E-Mail, ruft die API auf und reagiert auf
das Urteil.
Der Haken ist das Timing. Das Webhooks-Add-On wird ausgelöst, nachdem der Eintrag bereits gespeichert wurde, läuft also asynchron und kann dem Besucher keine Validierungsfehlermeldung anzeigen – auf diesem Weg gibt es keine direkte Ablehnung. Was es kann, ist innerhalb von Sekunden verifizieren und anhand des Ergebnisses weiterleiten: ein Tag in Ihrem CRM setzen, den Autoresponder für eine unzustellbare Adresse überspringen oder sie unterdrücken, bevor sie überhaupt Ihre E-Mail-Plattform erreicht. Wenn der Besucher eine ungültige Adresse sehen und korrigieren soll, verwenden Sie den obigen Validierungsfilter; wenn es Ihnen nur um nachgelagerte Hygiene geht, reicht der Webhook aus.
Einen Gravity-Forms-CSV-Export im Massenverfahren verifizieren#
Nicht jedes Formular braucht eine Echtzeitsperre, und Sie werden auch einen Altbestand an Einträgen haben, die gesammelt wurden, bevor Sie eine hinzugefügt haben. Für beide führt der codefreie Weg über eine Bereinigung in Chargen:
- Einträge als CSV exportieren. Öffnen Sie im Gravity-Forms-Admin Forms → Import/Export → Export Entries, wählen Sie das Formular, schließen Sie die E-Mail-Spalte ein und laden Sie die Datei herunter. Sie erhalten eine Zeile pro Eintrag mit der Adresse in ihrer eigenen Spalte.
- Die CSV im Massenverfahren verifizieren. Laden Sie sie in Qualisends Massenverifizierer hoch, der die
vollständige Pipeline – MX, die SMTP-Prüfung und die Wegwerf-/Rollen-/Catch-all-Kennzeichnungen –
über jede Zeile ausführt und eine bewertete Datei mit einem
statusund einemreasonpro Adresse zurückgibt. - Filtern und synchronisieren. Behalten Sie
deliverable, prüfen Sieriskyund verwerfen Sieundeliverable, bevor Sie die Überlebenden in Ihre E-Mail-Plattform importieren.
Das ist derselbe Kreislauf aus Exportieren, Verifizieren und Reimportieren wie bei jeder Listenbereinigung, nur bezogen aus Ihrer Gravity-Forms-Eintragstabelle – der Leitfaden zum Bereinigen einer E-Mail- Liste behandelt ihn vollständig. Führen Sie den Altbestand einmal durch und lassen Sie dann einen Hook zur Absendezeit die Liste von da an sauber halten.
Echtzeit, Massenverfahren oder beides#
Sie lösen unterschiedliche Probleme, daher wollen die meisten Sites am Ende beides:
- Echtzeit ist Prävention. Ein Tippfehler, der beim Absenden abgefangen wird, ist ein Lead, der mit einer einzeiligen Korrektur gerettet wird; eine tote Domain, die dort abgelehnt wird, wird nie zu einem Hard Bounce.
- Massenverfahren ist Bereinigung. Adressen verfallen – Menschen wechseln den Job, Domains laufen aus –, sodass selbst eine perfekt gesperrte Liste eine regelmäßige Neuverifizierung braucht.
Welchen Echtzeitweg Sie nutzen können, hängt von Ihrer Lizenz und Ihrer Vertrautheit mit Code ab: Der Validierungsfilter braucht ein PHP-Snippet, gibt Ihnen aber eine direkte Sperre, während das Webhooks-Add-On eine kostenpflichtige Stufe braucht, aber keinen Code und das asynchrone Markieren übernimmt. Welchen auch immer Sie wählen, mit einem gelegentlichen Massendurchlauf zu kombinieren, ist die ganze Strategie.
Häufig gestellte Fragen#
Kann Gravity Forms E-Mail-Adressen eigenständig verifizieren?#
Nur das Format. Der Feldtyp email bestätigt, dass eine Adresse korrekt aufgebaut ist – sie
hat ein @ und eine Domain –, aber er löst keine MX-Einträge auf und prüft das Postfach nicht,
sodass eine vertippte, per Wegwerf-Dienst erstellte oder längst tote Adresse, die gültig aussieht, trotzdem durch-
kommt. Echte Verifizierung braucht die DNS- und SMTP-Ebenen, die ein Dienst wie Qualisend
obendrauf hinzufügt – aufgerufen aus einem Validierungsfilter, einem Webhook oder einem CSV-Massenjob.
Kann ein Gravity-Forms-Webhook eine ungültige Adresse direkt ablehnen?#
Nein. Das Webhooks-Add-On wird ausgelöst, nachdem der Eintrag gespeichert wurde, läuft also
asynchron und kann dem Besucher keine Validierungsfehlermeldung anzeigen. Es eignet sich ideal zum
Markieren, Weiterleiten oder Unterdrücken unzustellbarer Adressen, bevor sie Ihr
E-Mail-Tool erreichen. Für eine direkte Ablehnung, die der Besucher sieht und korrigieren kann, verwenden Sie stattdessen den
Filter gform_field_validation mit dem PHP-Snippet aus diesem Leitfaden.
Welchen Gravity-Forms-Hook sollte ich verwenden, um beim Absenden zu verifizieren?#
Verwenden Sie gform_field_validation für ein einzelnes E-Mail-Feld – er wird während der
Validierung ausgelöst, erhält den Feldwert und lässt Sie direkt eine Fehlermeldung zurückgeben. Wenn Sie
über mehrere Felder hinweg validieren oder die Prüfung bedingt auf das gesamte
Formular anwenden müssen, verwenden Sie den formularweiten Filter gform_validation und markieren einzelne
Felder als fehlgeschlagen. Beide laufen serverseitig, bevor der Eintrag gespeichert wird, sodass beide blockieren können.
Gibt es ein natives Qualisend-Add-On für Gravity Forms?#
Derzeit nicht – unsere nativen Plattformintegrationen werden gerade neu aufgebaut, und ein Gravity-Forms-Connector steht auf der Roadmap. Bis er erscheint, sind die unterstützten Ansätze die drei aus diesem Leitfaden: die REST-API aus dem Validierungs- filter aufrufen, aus einer serverlosen Funktion hinter dem Webhooks-Add-On oder Einträge als CSV exportieren und im Massenverfahren verifizieren. Alle nutzen die dokumentierte API direkt.
Bereit zum Verdrahten? Der kostenlose Tarif enthält Credits, um jeden
Weg zu testen, die API-Referenz hat die exakte /verify-Anfrage für Ihren
Validierungsfilter oder Ihre serverlose Funktion, und der kostenlose E-Mail-
Checker lässt Sie eine einzelne Adresse stichprobenartig testen, bevor Sie eine Zeile PHP
schreiben.