E-Mail-Adresse auf Syntax prüfen
Ein Werkzeug, das eine E-Mail-Adresse auf korrekten Aufbau nach RFC 5322 prüft: erlaubte Zeichen, Reihenfolge und Domainformat. Es erkennt offensichtlich ungültige Adressen, bevor sie in ein Formular, eine Versandliste oder eine Kundendatenbank gelangen, ganz ohne Zustellversuch und ohne die Domain überhaupt anzufragen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Was geprüft wird
Geprüft werden Aufbau und Zeichensatz der Adresse: ein zulässiger lokaler Teil vor dem @-Zeichen, genau ein @-Zeichen und eine Domain mit gültiger Endung. Häufige Fehler wie ein fehlendes @-Zeichen, doppelte Punkte, ein Leerzeichen mitten in der Adresse oder eine unvollständige Domain werden zuverlässig erkannt. Sonderfälle wie ein Pluszeichen im lokalen Teil, das viele Anbieter für Filterregeln nutzen, oder Umlaute in internationalen Domains gelten dabei zu Recht als gültig, statt fälschlich als Fehler markiert zu werden.
Format ist nicht gleich Erreichbarkeit
Diese Prüfung sagt nur, ob eine Adresse formal korrekt aufgebaut ist, nicht, ob das Postfach tatsächlich existiert oder ob die Domain überhaupt E-Mails empfängt. Für die Erreichbarkeit der Domain oder die Erkennung von Wegwerf-Adressen gibt es eigene, spezialisierte Prüfungen in dieser Kategorie, die auf einer echten Netzwerkabfrage beruhen. Wer nur schnell ein Formularfeld gegen offensichtliche Tippfehler absichern möchte, kommt mit der Syntaxprüfung allein oft schon deutlich weiter, ohne die zusätzlichen Kosten einer serverseitigen Abfrage.
Kostenlos im Browser, per API automatisierbar
Die Prüfung läuft vollständig im Browser: ohne Limit, ohne Anmeldung und ohne dass die eingegebene Adresse an einen Server übertragen wird. Wer die Prüfung in ein eigenes Registrierungsformular, ein CRM-System oder eine Import-Routine einbauen möchte, ruft dieselbe Funktion stattdessen per API auf, für $0.002 pro geprüfter Adresse, mit dem Preis vorab veröffentlicht wie bei jeder Funktion in KIT. Ein eigener Server oder eine eigene Regelbibliothek wird dafür nicht benötigt.
Anwendungsfälle
Formularfeld beim Newsletter-Anmeldeformular
Anna Hoffmann baut ein Anmeldeformular für ihren Newsletter und lässt jede eingegebene Adresse vorab auf gültige Syntax prüfen, bevor sie überhaupt gespeichert wird.
Import einer alten Kontaktliste
Lukas Fischer importiert eine über Jahre gewachsene Kontaktliste in ein neues CRM und lässt zuerst alle offensichtlich fehlerhaften Adressen herausfiltern.
Registrierung bei der Weber Metallbau GmbH
Beim Kontaktformular der Weber Metallbau GmbH verhindert die Syntaxprüfung, dass Tippfehler wie ein fehlendes @-Zeichen überhaupt erst abgeschickt werden.
Häufige Fragen
Ist die Prüfung wirklich kostenlos?
Ja, im Browser ohne Limit und ohne Anmeldung. Nur wer die Prüfung per API in eine eigene Anwendung einbindet, zahlt $0.002 pro geprüfter Adresse.
Verlässt die eingegebene Adresse meinen Browser?
Nein, solange Sie die Prüfung auf dieser Seite nutzen. Die Adresse wird lokal im Browser ausgewertet und nicht an einen Server übertragen.
Prüft das auch, ob das Postfach tatsächlich existiert?
Nein, das ist eine reine Formatprüfung. Ob eine Domain E-Mails annimmt, prüft eine andere, eigene Funktion in dieser Kategorie.
Erkennt die Prüfung auch Wegwerf-Adressen?
Nein, dafür gibt es eine eigene Prüfung. Diese Funktion beurteilt ausschließlich den formalen Aufbau der Adresse.
Brauche ich ein Konto für die API-Nutzung?
Nein, es gibt derzeit keine Konten. Sie zahlen direkt pro geprüfter Adresse, ohne Registrierung und ohne Abonnement.
Gibt es ein Limit für die Anzahl der Prüfungen im Browser?
Nein, im Browser-Modus gibt es keine Obergrenze, da jede Prüfung lokal auf Ihrem Gerät läuft.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/verify/email-syntax \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/email-syntax", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/email-syntax",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/email-syntax", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/email-syntax", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"items": [
"valor-1",
"valor-2"
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.email_syntax",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |