Zurück zum Blog
Engineering

Wie wir einen Wegwerfmail-Datensatz aufgebaut haben

Josselin Liebe
Josselin Liebe

Wenn es darum geht, gefälschte Accounts zu sperren, ist der erste Schritt meistens derselbe: die E-Mail-Adresse verifizieren. Doch um eine Wegwerfmail zu erkennen, muss man zunächst wissen, welche Domains zu Wegwerfmail-Diensten gehören. Öffentliche Listen auf GitHub decken die offensichtlichen Fälle ab, sind aber selten aktuell. Woche für Woche tauchen neue Dienste mit frischen Domains auf, die unbemerkt unter dem Radar fliegen.

Wir haben beschlossen, bei WebAPI unseren eigenen Datensatz aufzubauen. So haben wir es gemacht.

Warum gefälschte Accounts ein echtes Geschäftsproblem sind

Gefälschte Accounts sind nicht nur ein technisches Problem. Sie verursachen direkte Kosten für das Unternehmen.

  • CRM-Rauschen : Jeder mit einer Wegwerfadresse erstellte gefälschte Account landet in der Vertriebspipeline. Vertriebsteams verschwenden Zeit damit, Leads zu qualifizieren, die gar nicht existieren (Hubspot, Salesforce usw.), Konversionsmetriken werden verzerrt, und das Signal-Rausch-Verhältnis im CRM verschlechtert sich. Bei einem SaaS-Unternehmen mit tausenden Anmeldungen pro Monat kann das Dutzende verschwendeter Stunden bedeuten.

  • Missbrauch von Gratis-Testphasen und Ressourcen : Wegwerfadressen ermöglichen es einem einzelnen Nutzer, in einer Endlosschleife Accounts zu erstellen, um Gratis-Testphasen unbegrenzt zu missbrauchen, kostenlose Credits zu sammeln oder Kontingente zu umgehen. Bei einem API-Produkt wie unserem bedeutet das Ressourcenverbrauch ohne jede Konversion dahinter.

  • Verzerrte Produktmetriken : Gefälschte Accounts blähen Anmeldezahlen künstlich auf und verzerren Aktivierungs- (z. B. ein Mixpanel- oder Metabase-Dashboard), Bindungs- und Konversionsraten. Mit Kohorten voller Geisteraccounts lassen sich keine verlässlichen Produktentscheidungen treffen.

  • Risiken für Reputation und Zustellbarkeit : E-Mails an Wegwerfadressen zu senden bedeutet, ins Leere zu senden. Bounces häufen sich an, die Zustellbarkeit sinkt, und die Reputation Ihrer Absender-Domain leidet bei E-Mail-Anbietern.

Das Problem: schnell agierende Anbieter

Temporäre E-Mail-Dienste funktionieren nicht alle gleich. Manche zeigen eine feste Liste von Domains in einem Dropdown-Menü. Andere generieren bei jedem Besuch zufällige Adressen und rotieren dabei durch Domains. Einige injizieren ihre Domains dynamisch per JavaScript, im rohen HTML unsichtbar.

Den Aufbau eines zuverlässigen Datensatzes bedeutet, sich an jedes dieser Verhaltensweisen anzupassen.

Schritt 1: Mehrstrategige Erfassung

Wir nehmen mehr als 20 Wegwerfmail-Anbieter ins Visier. Für jeden setzen wir die Extraktionsstrategie ein, die am besten zu seiner Funktionsweise passt.

Standard-HTTP-Anfragen : Für Seiten, die ihre Domains direkt im HTML preisgeben (Dropdown-Menüs, Listen, vorausgefüllte Eingabefelder), reicht ein einfacher HTTP-Aufruf. Wir parsen das DOM und extrahieren die Domains.

Headless-Browser : Viele moderne Anbieter laden ihren Inhalt über JavaScript. Das statische HTML enthält nichts Brauchbares. Wir verwenden Headless-Browser, die JS ausführen, auf das vollständige Rendering warten und uns dann Zugang zum finalen DOM verschaffen.

Screenshots + OCR : Manche Dienste gehen noch weiter: Die Domain existiert nirgendwo im DOM und wird nur innerhalb eines Canvas- oder Bild-Elements gerendert. In diesen Fällen machen wir einen Screenshot und extrahieren den Text per OCR.

Direkte API-Aufrufe : Wenn ein Dienst eine API (öffentlich oder halb-öffentlich) zum Generieren von Adressen bereitstellt, nutzen wir diese direkt.

Schritt 2: Intelligente Domain-Extraktion

Das Erhalten des HTML oder Screenshots reicht nicht aus. Wir müssen Domains noch zuverlässig extrahieren. Wir wenden mehrere Extraktionsebenen nacheinander an:

  1. Eingabefelder : Wir scannen <input>-Elemente nach vorausgefüllten E-Mail-Adressen und extrahieren die Domain
  2. Dropdown-Menüs : <select>-Elemente enthalten häufig die vollständige Liste verfügbarer Domains
  3. Links und Rohtext : Als letzten Ausweg suchen wir nach @domain.tld-Mustern in allen sichtbaren Texten

Schritt 3: Filterung von Falschpositiven

Dies ist wohl der kritischste Schritt. Aggressive Extraktion erzeugt Rauschen: Domains, die tatsächlich keine Wegwerfdomains sind. Ohne Filterung riskieren wir, legitime Nutzer zu sperren - etwas, das wir uns nicht leisten können.

Unsere Pipeline wendet mehrere Filter an:

  • Ausschlussliste : Große legitime Domains (gmail.com, outlook.com usw.) und Infrastruktur-Domains (googleapis.com, cloudflare.com usw.) werden systematisch ausgeschlossen
  • Strukturelle Validierung : Wir prüfen, ob die Domain ein gültiges Format, eine anerkannte TLD hat und nicht wie ein statisches Asset aussieht (.js, .css, .png)
  • DNS-Verifizierung : Wir validieren das Vorhandensein von MX-Einträgen, um zu bestätigen, dass die Domain tatsächlich E-Mails empfangen kann
  • Konfidenz-Scoring : Jede Domain wird mit jeder Quelle getaggt, die sie gemeldet hat. Eine Domain, die bei mehreren unabhängigen Anbietern auftaucht, ist mit hoher Wahrscheinlichkeit eine Wegwerfmail

Diese mehrschichtige Filterung ermöglicht es uns, eine sehr niedrige Falschpositiv-Rate beizubehalten, selbst bei aggressiver Extraktion.

Schritt 4: Deduplizierung und Indexierung

Dieselben Domains tauchen häufig bei mehreren Anbietern auf. Bevor wir unsere Datenbank anreichern, führen wir Ergebnisse zusammen: Jede Domain wird normalisiert, dedupliziert, und wir behalten die vollständige Liste ihrer Quellen.

Das Ergebnis wird in einer für Echtzeit-Anfragen optimierten Suchmaschine indexiert. Wenn unsere API eine Validierungsanfrage erhält, dauert die Suche in diesem Datensatz weniger als eine Millisekunde.

Schritt 5: Monitoring und kontinuierliche Aktualisierungen

Die Landschaft der Wegwerfmails verändert sich ständig. Domains verschwinden, neue tauchen auf. Wir führen diese Pipeline automatisch und in regelmäßigen Abständen aus, um diese Änderungen zu erfassen.

Jeder Durchlauf erzeugt einen Bericht: Anzahl der verarbeiteten Anbieter, entdeckte Domains, etwaige Fehler. Wenn ein Anbieter seine Oberfläche ändert oder unsere Anfragen blockiert, werden wir sofort benachrichtigt und passen unsere Strategie an.

Die Zahlen

Heute enthält unser Datensatz über 380.000 verifizierte Wegwerfdomains von mehr als 20 verschiedenen Anbietern. Er versorgt direkt das Feld disposable in unserer E-Mail-Validierungs-API.

Was das für Sie bedeutet

Wenn Sie GET /v1/intelligence/email mit einer Adresse aufrufen, wird das Feld disposable in Echtzeit mit diesem Datensatz abgeglichen. Keine statische Liste, die vor sechs Monaten heruntergeladen wurde - ein lebendiger Datensatz, täglich durch automatisierte Pipelines aktualisiert.

import requests

response = requests.get(
    "https://api.veille.io/v1/intelligence/email",
    params={"query": "user@guerrillamail.com"},
    headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()

if data["disposable"]:
    print(f"Disposable email detected (risk: {data['risk_score']})")

Das Sperren von Wegwerfmails beseitigt den ersten Hebel, den Angreifer nutzen, um im großen Maßstab gefälschte Accounts zu erstellen. Und das beginnt mit einem Datensatz, der standhält.

Verwandte Artikel