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
--stdinLire les e-mails depuis stdin (pipe)
--file, -f PATHLire les e-mails depuis un fichier (ignorer les lignes commençant par #)
--format, -F fmtSortie : table, json, csv, jsonl
--output, -o PATHÉcrire la sortie dans un fichier
--quiet, -qSortie minimale (email<TAB>statut)
--api-key, -k KEYRemplacer 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
validBoîte aux lettres confirmée existante1 crédit
invalidLa boîte aux lettres n'existe pas1 crédit
riskyRésultat à faible confiance (Yahoo, AOL, etc.)Gratuit
catch_allLe domaine accepte tous les e-mails (impossible à confirmer)Gratuit
disposableFournisseur d'e-mails temporaires/jetables1 crédit
unknownImpossible à 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