Zum Inhalt springen
Guide

Bestätigen Sie eine E-Mail-Adresse, ohne eine einzige Nachricht zu senden

| 7 min read

Überprüfen Sie E-Mail-Syntax, MX-Einträge und verfügbare Domänen mit drei API-Aufrufen. Keine SMTP-Verbindung, keine Bestätigungs-E-Mail, kein Bounce-Risiko. Kostenlose E-Mail-Validierungs-API.

Email inbox with verification badges
Photo by Stephen Phillips on Unsplash

Ihr Anmeldeformular erfasst eine E-Mail-Adresse. Sie speichern es, senden eine Willkommensnachricht und die E-Mail springt. Die Adresse war ein Tippfehler. Oder die Domain existiert nicht. Oder es war ein Wegwerfartikel @mailinator.com Adresse, die in zehn Minuten tot sein wird. Du hast jetzt einen Müll Eintrag in Ihrer Datenbank, eine beschädigte Absenderreputation und ein Benutzer, der nie wieder zurückkommt.

Die herkömmliche Lösung besteht darin, eine Bestätigungs-E-Mail zu senden: „Klicken Sie auf diesen Link, um Ihre Adresse zu bestätigen.“ Es funktioniert, aber es erhöht die Reibung. Conversion sinkt. Und der Tippfehler wird erst später erkannt Sie haben bereits eine Nachricht an eine ungültige Adresse gesendet.

Sie können eine E-Mail-Adresse validieren, bevor Sie etwas senden. Drei API-Aufrufe prüfen die Syntax, MX Datensätze und Wegwerfdomänen. Der gesamte Vorgang dauert weniger als 200 ms und erkennt die Probleme die für 90 % aller E-Mail-Zustellungsfehler verantwortlich sind.

Drei Ebenen der E-Mail-Validierung

Jede Ebene fängt eine andere Klasse fehlerhafter E-Mail-Adressen ab. Verwenden Sie sie zusammen für ein vollständiges Ergebnis E-Mail-Verifizierungspipeline oder wählen Sie diejenigen aus, die Sie benötigen.

  • Syntaxvalidierung. Folgt die Adresse einem gültigen Format? Ist die Domain Haben Sie einen bekannten Tippfehler? Der /v1/email/validate Endpunkt prüft RFC 5322-Konformität, erkennt rollenbasierte Adressen (admin@, support@) und schlägt vor Korrekturen für häufige Domain-Rechtschreibfehler wie gmial.com oder hotmal.com.
  • Überprüfung des MX-Eintrags. Kann die Domain überhaupt E-Mails empfangen? Der /v1/email-mx/verify Der Endpunkt fragt DNS nach MX-Einträgen ab und greift auf A zurück Aufzeichnungen. Wenn die Domain keinen Mailserver hat, ist die Adresse unzustellbar; Keine Wiederholungsversuche werde es beheben.
  • Erkennung von Einweg-E-Mails. Stammt die Adresse von einem Wegwerfdienst? Der /v1/disposable-email/check Endpunktprüfungen anhand von mehr als 700 bekannten verfügbaren Domänen und Musterübereinstimmungsvarianten. Außerdem wird angezeigt, ob es sich bei der Domain um einen kostenlosen Anbieter handelt (Gmail, Outlook), sodass Sie zwischen persönlichen und Wegwerfadressen unterscheiden können.

Überprüfen Sie die E-Mail-Syntax und erkennen Sie Tippfehler

Der /v1/email/validate Der Endpunkt erledigt die meiste Arbeit in einem einzigen Aufruf. Es bestätigt Format, sucht nach MX-Einträgen, sucht nach verfügbaren Domains und erkennt Tippfehler in beliebten Provider-Domains.

Antwort:

Die E-Mail jamie@gmial.com hat eine gültige Syntax, aber die Domäne ist ein Tippfehler. Die API kehrt zurück is_valid: false weil keine MX-Einträge für vorhanden sind gmial.com, und es schlägt die korrigierte Adresse vor jamie@gmail.com. Zeigen Sie diesen Vorschlag in Ihr Anmeldeformular und Sie retten den Benutzer vor einem toten Konto.

Überprüfen Sie MX-Einträge, um zu überprüfen, ob die E-Mail echt ist

Der /v1/email-mx/verify Endpoint konzentriert sich auf DNS. Es gibt die vollständige MX-Liste zurück Datensätze mit Prioritäten und a deliverable Feld, das Ihnen sagt, ob die Domain kann Post empfangen.

Antwort:

Der deliverable Das Feld gibt einen von drei Werten zurück: "likely" (MX Datensätze gefunden), "unknown" (Kein MX, aber ein A-Eintrag vorhanden, daher möglicherweise die Domain Post annehmen), oder "unlikely" (keine MX- und keine A-Einträge). Verwenden Sie dies für den MX-Eintrag Validierung, wenn Sie die rohen DNS-Daten benötigen.

Erkennen Sie Einweg- und Wegwerfadressen

Der /v1/disposable-email/check Der Endpunkt identifiziert temporäre E-Mail-Dienste. Diese Adressen funktionieren minuten- oder stundenlang und nehmen dann keine E-Mails mehr an.

Antwort:

Der is_free Das Feld trennt Einweg-Domains von kostenlosen Anbietern. Ein Gmail Adresse kehrt zurück is_free: true Und is_disposable: false. Ein Mailinator Adresse kehrt zurück is_disposable: true Und is_free: false. Dies Unterscheidung ist wichtig; Das Blockieren aller kostenlosen Anbieter würde den Großteil des Internets sperren.

Erstellen Sie eine Validierungspipeline in Node.js

Kombinieren Sie alle drei Prüfungen in einer einzigen Funktion. Diese Pipeline führt jede Prüfung nacheinander aus und Kurzschlüsse beim ersten Ausfall.

async function validateEmail(email) {
  const headers = { "Content-Type": "application/json" };
  const body = JSON.stringify({ email });

  // Step 1: Syntax validation + typo detection
  const syntaxRes = await fetch("https://api.botoi.com/v1/email/validate", {
    method: "POST", headers, body,
  });
  const syntax = await syntaxRes.json();

  if (!syntax.data.format_valid) {
    return { valid: false, reason: "Invalid email format" };
  }

  if (syntax.data.suggestion) {
    return {
      valid: false,
      reason: \`Did you mean \${syntax.data.suggestion}?\`,
    };
  }

  // Step 2: MX record verification
  const mxRes = await fetch("https://api.botoi.com/v1/email-mx/verify", {
    method: "POST", headers, body,
  });
  const mx = await mxRes.json();

  if (!mx.data.has_mx) {
    return { valid: false, reason: "Domain cannot receive email" };
  }

  // Step 3: Disposable email detection
  const dispRes = await fetch("https://api.botoi.com/v1/disposable-email/check", {
    method: "POST", headers, body,
  });
  const disp = await dispRes.json();

  if (disp.data.is_disposable) {
    return {
      valid: false,
      reason: \`Disposable email detected (\${disp.data.provider})\`,
    };
  }

  return { valid: true, reason: null };
}

// Usage
const result = await validateEmail("test@mailinator.com");
console.log(result);
// { valid: false, reason: "Disposable email detected (Mailinator)" }

Der sequentielle Ansatz ist lesbar und wird vorzeitig beendet. Wenn die Syntax fehlschlägt, überspringen Sie das Netzwerk fordert MX- und Einwegschecks. Wenn Sie Geschwindigkeit einer vorzeitigen Beendigung vorziehen, führen Sie alle aus drei parallel:

async function validateEmail(email) {
  const headers = { "Content-Type": "application/json" };
  const body = JSON.stringify({ email });

  // Run all three checks in parallel
  const [syntaxRes, mxRes, dispRes] = await Promise.all([
    fetch("https://api.botoi.com/v1/email/validate", {
      method: "POST", headers, body,
    }),
    fetch("https://api.botoi.com/v1/email-mx/verify", {
      method: "POST", headers, body,
    }),
    fetch("https://api.botoi.com/v1/disposable-email/check", {
      method: "POST", headers, body,
    }),
  ]);

  const [syntax, mx, disp] = await Promise.all([
    syntaxRes.json(), mxRes.json(), dispRes.json(),
  ]);

  const errors = [];

  if (!syntax.data.format_valid) errors.push("Invalid format");
  if (syntax.data.suggestion) errors.push(\`Typo: try \${syntax.data.suggestion}\`);
  if (!mx.data.has_mx) errors.push("No MX records");
  if (disp.data.is_disposable) errors.push("Disposable domain");

  return {
    valid: errors.length === 0,
    errors,
    details: { syntax: syntax.data, mx: mx.data, disposable: disp.data },
  };
}

Die parallele Version löst alle drei Anfragen gleichzeitig aus Promise.all. Die Gesamtlatenz entspricht der langsamsten Anfrage und nicht der Summe. In den meisten Fällen alle drei in weniger als 100 ms abgeschlossen.

Python-Validierungspipeline

Dieselbe dreistufige Validierung in Python. In diesem Beispiel wird die verwendet requests Bibliothek für Klarheit.

import requests

API_BASE = "https://api.botoi.com/v1"

def validate_email(email: str) -> dict:
    headers = {"Content-Type": "application/json"}
    payload = {"email": email}

    # Step 1: Syntax + typo check
    syntax = requests.post(
        f"{API_BASE}/email/validate", json=payload, headers=headers
    ).json()

    if not syntax["data"]["format_valid"]:
        return {"valid": False, "reason": "Invalid email format"}

    suggestion = syntax["data"].get("suggestion")
    if suggestion:
        return {"valid": False, "reason": f"Did you mean {suggestion}?"}

    # Step 2: MX record check
    mx = requests.post(
        f"{API_BASE}/email-mx/verify", json=payload, headers=headers
    ).json()

    if not mx["data"]["has_mx"]:
        return {"valid": False, "reason": "Domain cannot receive email"}

    # Step 3: Disposable check
    disp = requests.post(
        f"{API_BASE}/disposable-email/check", json=payload, headers=headers
    ).json()

    if disp["data"]["is_disposable"]:
        provider = disp["data"]["provider"]
        return {"valid": False, "reason": f"Disposable email ({provider})"}

    return {"valid": True, "reason": None}

# Usage
result = validate_email("jamie@gmial.com")
print(result)
# {'valid': False, 'reason': 'Did you mean jamie@gmail.com?'}

Wann E-Mail-Adressen validiert werden müssen

Unterschiedliche Touchpoints erfordern unterschiedliche Validierungstiefen. Hier ist, wo jeder Scheck Platz findet.

Berührungspunkt Syntax MX-Check Einweg Warum
Anmeldeformular Ja Ja Ja Erkennen Sie Tippfehler, tote Domains und Wegwerfkonten, bevor Sie einen Datensatz erstellen
Kasse/Zahlung Ja Ja Optional Quittungen benötigen eine Lieferadresse; Der Wegwerfscheck hängt von Ihren Rückerstattungsrichtlinien ab
Kontaktformular Ja Optional NEIN Die grundlegende Formatprüfung verhindert offensichtlichen Müll. MX-Check ist ein Bonus
Newsletter abonnieren Ja Ja Ja Schützt den Ruf des Absenders; Hohe Absprungraten führen dazu, dass Sie von ESPs gemeldet werden
Lead-Import / CRM Ja Ja Ja Durch das Bereinigen von Daten, bevor sie in Ihre Pipeline gelangen, werden nachgelagerte Kosten eingespart
Interne Werkzeuge Ja NEIN NEIN Die Syntaxprüfung erkennt Dateneingabefehler. Internen Benutzern wird vertraut

Wichtige Punkte

  • Vor dem Speichern validieren. Jede fehlerhafte E-Mail in Ihrer Datenbank kostet Sie: Speicherplatz, fehlgeschlagene Versendungen, Bounce-Verarbeitung und Rufschädigung des Absenders. Erkennen Sie Probleme an der richtigen Stelle des Eintritts.
  • Tippfehlererkennung spart Benutzern. Der /v1/email/validate Endpunkt Erkennt häufige Rechtschreibfehler in Domains und gibt einen Vorschlag zurück. Auftauchen „Meinten Sie jamie@gmail.com?“ verhindert einen verlorenen Benutzer.
  • MX-Checks sind schnell und kostenlos. DNS-Suchvorgänge werden in Millisekunden aufgelöst. Es gibt Kein Grund, sie zu überspringen. Eine Adresse ohne MX-Einträge wird Ihre E-Mail niemals erhalten.
  • Einwegerkennung schützt vor Versuchsmissbrauch. Wenn Sie eine kostenlose Testversion anbieten oder Freemium-Plan, die Einweg-E-Mail-Erkennung verhindert, dass dieselbe Person unbegrenzt erstellt Konten mit Wegwerfadressen.
  • Zum Starten ist kein API-Schlüssel erforderlich. Alle drei Endpunkte arbeiten anonym um 5 Uhr Anfragen pro Minute. Testen Sie die gesamte Pipeline, ohne sich anzumelden. Fügen Sie eine hinzu Authorization: Bearer YOUR_KEY Header, wenn Sie einen höheren Durchsatz benötigen.
  • Führen Sie parallel Geschwindigkeitsprüfungen durch. Die drei Endpunkte sind unabhängig. Benutzen Promise.all Reduziert die Gesamtlatenz auf die langsamste Einzelanfrage statt die Summe aller drei.

Die vollständige Dokumentation für alle drei Endpunkte finden Sie im interaktive API-Dokumente. Jeder Endpunkt akzeptiert einen JSON-Body mit einem email Feld und gibt Ergebnisse in zurück weniger als 100 ms vom Edge-Netzwerk von Cloudflare entfernt.

FAQ

Können Sie eine E-Mail-Adresse validieren, ohne eine E-Mail zu senden?
Ja. Sie können drei Dinge überprüfen, ohne etwas zu senden: ob die Adresse einer gültigen Syntax (RFC 5322) folgt, ob die Domain MX-Einträge für den Empfang von E-Mails konfiguriert hat und ob die Domain zu einem bekannten Wegwerf-E-Mail-Anbieter gehört. Diese drei Prüfungen erkennen die meisten fehlerhaften Adressen zum Zeitpunkt der Anmeldung.
Ist die Botoi-E-Mail-Validierungs-API kostenlos?
Ja. Der anonyme Zugriff ist mit 5 Anfragen pro Minute und IP-basierter Ratenbegrenzung möglich. Kein API-Schlüssel, keine Anmeldung, keine Kreditkarte erforderlich. Für einen höheren Durchsatz beginnen kostenpflichtige Pläne bei 9 $/Monat und beinhalten den Zugriff auf alle über 150 API-Endpunkte.
Was ist der Unterschied zwischen der MX-Eintragsvalidierung und der SMTP-Verifizierung?
Die MX-Eintragsvalidierung prüft, ob eine Domain über Mailserver verfügt, die für die Annahme von E-Mails konfiguriert sind. Es bestätigt, dass die Domain im Allgemeinen E-Mails empfangen kann. Die SMTP-Verifizierung geht noch einen Schritt weiter, indem sie eine Verbindung zum Mailserver herstellt und fragt, ob ein bestimmtes Postfach vorhanden ist. MX-Prüfungen sind schnell (unter 100 ms) und kostenlos. SMTP-Prüfungen sind langsamer, können von Mailservern blockiert werden und können Geschwindigkeitsbegrenzungen oder Spam-Flags auslösen.
Wie genau ist die Erkennung von Wegwerf-E-Mails?
Der Botoi-Einweg-E-Mail-Endpunkt prüft anhand von über 700 bekannten Wegwerfdomänen und nutzt Mustervergleiche, um Variationen zu erkennen (Domänen, die „temp“, „trash“, „throwaway“ usw. enthalten). Außerdem wird zwischen Wegwerf-Domains und kostenlosen Anbietern wie Gmail oder Outlook unterschieden. Keine Erkennungsliste ist zu 100 % vollständig, aber sie erfasst alle weit verbreiteten Wegwerfdienste.
Soll ich E-Mails auf dem Client oder dem Server validieren?
Beide. Führen Sie eine grundlegende Formatprüfung auf dem Client durch, um sofortiges Feedback zu erhalten. Führen Sie MX- und Einwegprüfungen auf dem Server durch, bevor Sie in Ihre Datenbank schreiben. Die clientseitige Validierung verbessert das Benutzererlebnis; Die serverseitige Validierung schützt Ihre Daten. Vertrauen Sie niemals allein auf clientseitige Prüfungen, da diese umgangen werden können.

Starte mit botoi zu entwickeln

150+ API-Endpunkte für Abfragen, Textverarbeitung, Bildgenerierung und Entwickler-Tools. Kostenloser Tarif, keine Kreditkarte nötig.