CLI-Tool
Kommandozeilen-E-Mail-Verifizierung für DevOps und Automatisierung. Listen per Pipe verarbeiten, als JSON/CSV/JSONL exportieren. Keine Abhängigkeiten — nur Python.
Installation
pip install email-validator-cli
Oder laden Sie das eigenständige Skript herunter:
Voraussetzungen: Python 3.8+. Keine externen Abhängigkeiten — es wird nur die Standardbibliothek verwendet
(urllib, json, csv, argparse).
Works on Linux, macOS, Windows, and in Docker.
Einrichtung
Holen Sie sich Ihren API-Schlüssel im Dashboard, danach:
email-validator setup
Oder nicht-interaktiv konfigurieren:
# Umgebungsvariable
export EV_API_KEY=ev_your_key_here
# Oder Konfigurationsdatei (~/.email-validator.conf)
api_key=ev_your_key_here
# Oder CLI-Flag
email-validator verify user@domain.com --api-key ev_your_key_here
Schnellstart
Einzelne E-Mail verifizieren
email-validator verify user@domain.com
# ✓ user@domain.com valid conf:high mx:gmail-smtp-in.l.google.com 234ms
Aus stdin einlesen
cat emails.txt | email-validator verify --stdin
# ✓ user1@domain.com valid 234ms
# ✗ user2@domain.com invalid Email does not exist
# ⚠ user3@yahoo.com risky Verifly: 87% confidence
CSV exportieren
email-validator verify --file subscribers.txt --format csv --output results.csv
Zeilenweise JSON (jq-kompatibel)
cat leads.txt | email-validator verify --stdin --format jsonl | jq '.status'
Konto & Guthaben
email-validator account
# Konto: user@example.com
# Tarif: Basic
# Guthaben: 4500 verbleibend (von 5000)
email-validator credits
# ✓ 4500 Credits
Optionen für den Verify-Befehl
| Option | Beschreibung |
|---|---|
--stdin | E-Mails aus stdin lesen (Pipe) |
--file, -f PATH | E-Mails aus Datei lesen (Zeilen mit # werden übersprungen) |
--format, -F fmt | Ausgabe: table, json, csv, jsonl |
--output, -o PATH | Ausgabe in Datei schreiben |
--quiet, -q | Minimale Ausgabe (email<TAB>status) |
--api-key, -k KEY | API-Schlüssel für diesen Befehl überschreiben |
Automatische Erkennung: Wenn die Ausgabe weitergeleitet wird (z. B. | jq), the format
automatically switches to jsonl. For interactive terminal use, it defaults to table.
E-Mail-Statuswerte
| Status | Bedeutung | Credit-Kosten |
|---|---|---|
valid | Postfach bestätigt vorhanden | 1 Credit |
invalid | Postfach existiert nicht | 1 Credit |
risky | Ergebnis mit geringer Aussagekraft (Yahoo, AOL usw.) | Kostenlos |
catch_all | Domain akzeptiert alle E-Mails (nicht bestätigbar) | Kostenlos |
disposable | Anbieter für temporäre/Wegwerf-E-Mails | 1 Credit |
unknown | Nicht ermittelbar (Netzwerk-/DNS-Fehler) | Kostenlos |
CI/CD- & Automatisierungsbeispiele
GitHub Actions
# .github/workflows/validate.yml
- name: Validate email list
run: |
pip install email-validator-cli
email-validator verify --file subscribers.txt --format csv --output validated.csv
env:
EV_API_KEY: ${{ secrets.EV_API_KEY }}
Bash: nur gültige E-Mails filtern
email-validator verify --stdin --format jsonl < leads.txt \
| jq -r 'select(.status=="valid") | .email' \
> clean_leads.txt
Docker
FROM python:3.12-slim
RUN pip install email-validator-cli
ENTRYPOINT ["email-validator"]
Cron: nächtliche Validierung
# crontab
0 2 * * * /usr/local/bin/email-validator verify --file /data/list.csv \
--output /data/validated.jsonl --format jsonl
Voraussetzungen
- Python 3.8 oder neuer
- Ein aktives Email-Validator-Konto mit API-Schlüssel
- Verifizierte E-Mails verbrauchen Kredite – die Status kostenlos/riskant/unbekannt sind kostenfrei
- Ratenlimit: 60 Anfragen pro Minute und Nutzer