Outil en ligne de commande
Vérification d'e-mails en ligne de commande pour DevOps et l'automatisation. Redirigez les listes, exportez en JSON/CSV/JSONL. Zéro dépendance, il suffit de Python.
Installation
pip install email-validator-cli
Ou téléchargez le script autonome :
Prérequis : Python 3.8+. Aucune dépendance externe, utilise uniquement la bibliothèque standard
(urllib, json, csv, argparse).
Works on Linux, macOS, Windows, and in Docker.
Configuration
Obtenez votre clé API depuis le Tableau de bord, puis :
email-validator setup
Ou configurez en mode non interactif :
# Variable d'environnement
export EV_API_KEY=ev_your_key_here
# Ou fichier de configuration (~/.email-validator.conf)
api_key=ev_your_key_here
# Ou option CLI
email-validator verify user@domain.com --api-key ev_your_key_here
Démarrage rapide
Vérifier une seule adresse e-mail
email-validator verify user@domain.com
# ✓ user@domain.com valide conf:élevée mx:gmail-smtp-in.l.google.com 234ms
Redirection depuis stdin
cat emails.txt | email-validator verify --stdin
# ✓ user1@domain.com valide 234ms
# ✗ user2@domain.com invalide L'e-mail n'existe pas
# ⚠ user3@yahoo.com risqué Verifly : 87 % de confiance
Exporter en CSV
email-validator verify --file subscribers.txt --format csv --output results.csv
JSON délimité par lignes (compatible jq)
cat leads.txt | email-validator verify --stdin --format jsonl | jq '.status'
Compte et crédits
email-validator account
# Compte : user@example.com
# Forfait : Basic
# Crédits : 4500 restants (sur 5000)
crédits email-validator
# ✓ 4500 crédits
Options de la commande verify
| Option | Description |
|---|---|
--stdin | Lire les e-mails depuis stdin (pipe) |
--file, -f PATH | Lire les e-mails depuis un fichier (ignorer les lignes commençant par #) |
--format, -F fmt | Sortie : table, json, csv, jsonl |
--output, -o PATH | Écrire la sortie dans un fichier |
--quiet, -q | Sortie minimale (email<TAB>statut) |
--api-key, -k KEY | Remplacer la clé API pour cette commande |
Détection automatique : Lorsque la sortie est redirigée (par ex. | jq), the format
automatically switches to jsonl. For interactive terminal use, it defaults to table.
Valeurs de statut des e-mails
| Statut | Signification | Coût en crédits |
|---|---|---|
valid | Boîte aux lettres confirmée existante | 1 crédit |
invalid | La boîte aux lettres n'existe pas | 1 crédit |
risky | Résultat à faible confiance (Yahoo, AOL, etc.) | Gratuit |
catch_all | Le domaine accepte tous les e-mails (impossible à confirmer) | Gratuit |
disposable | Fournisseur d'e-mails temporaires/jetables | 1 crédit |
unknown | Impossible à déterminer (erreur réseau/DNS) | Gratuit |
Exemples CI/CD et automatisation
GitHub Actions
# .github/workflows/validate.yml
- name: Valider la liste d'e-mails
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 : filtrer uniquement les e-mails valides
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 : validation nocturne
# crontab
0 2 * * * /usr/local/bin/email-validator verify --file /data/list.csv \
--output /data/validated.jsonl --format jsonl
Prérequis
- Python 3.8 ou version ultérieure
- Un compte Email Validator actif avec clé API
- Les e-mails vérifiés consomment des crédits — les statuts free/risky/unknown sont gratuits
- Limite de débit : 60 requêtes par minute et par utilisateur