Ferramenta CLI-only em Python para extração, validação, análise e auditoria forense de e-mails a partir de arquivos .txt, com foco em robustez, rastreabilidade, qualidade de dados e excelente experiência no terminal (Rich + emojis sempre ativos).
Autoria: AnswrSe3kr
- Extração robusta — Regex RFC-like, suporte a
mailto:, TLDs longos - Validação — regex avançado (email-validator) + validação de domínios apenas estrutural (labels + TLD 2–24 chars, sem tldextract nem cache)
- Análise — Padrões de prefixo, classificação (corporate, personal, temporary, disposable, suspicious), agrupamento por departamento (Atendimento, Comercial, Financeiro, Fiscal, RH, etc.)
- Auditoria forense — Cadeia de custódia, hashes SHA-256, logs estruturados
- Relatório HTML — Design Apple-like, tabelas sortáveis, filtros, card Departamentos identificados, recomendação para contato genérico (contato@/info@ → setores específicos)
- Terminal premium — Rich + emojis em todas as mensagens, visual Apple-like (painéis arredondados, paleta consistente), cards e feedback claro
- Python 3.10+
- Dependências:
rich,chardet,email-validator
cd email_extract_from_txt/email_extractor
pip install -r requirements.txtOu com suporte a desenvolvimento:
pip install -r requirements-dev.txtO projeto aceita apenas arquivos no formato .txt. Outros formatos (PDF, DOC, etc.) não são suportados.
# A partir da pasta email_extractor/
python main.py arquivo.txt
# Arquivos grandes (streaming)
python main.py arquivo.txt --streamingFlags:
| Flag | Descrição |
|---|---|
--streaming |
Processamento linha a linha (recomendado para arquivos grandes) |
Não existem outras flags. Saída sempre em ./output/.
Códigos de saída: 0 = sucesso; 1 = erro (validação ou exceção no pipeline). Ver docs/CLI.md e docs/TRATAMENTOS_DE_ERROS.md.
Cada execução gera uma pasta em ./output/:
output/
└── nome-arquivo-YYYYMMDD-HHMMSS/
├── report.html # Relatório HTML (Apple-like)
├── emails.txt # Lista de e-mails válidos
├── logs.json # Log operacional estruturado
└── custody.json # Cadeia de custódia forense
cd email_extractor
pytest
# ou
pytest -q
pytest --cov=email_extractoremail-extractor-from-txt/
└── email_extractor/
├── main.py
├── pyproject.toml
├── README.md
├── CHANGELOG.md
├── requirements.txt
├── requirements-dev.txt
├── .gitignore
├── .editorconfig
├── .pre-commit-config.yaml
├── .python-version
├── __init__.py
├── cli.py
├── pipeline.py
├── config.py
├── core/
├── report/
│ ├── html.py
│ └── domain_html.py
├── ui/
├── tests/
├── docs/
│ ├── README.md
│ ├── FAQ.md
│ ├── UX-UI.md
│ ├── EXECUCAO_SO.md
│ ├── API.md
│ ├── ARCHITECTURE.md
│ ├── CLI.md
│ ├── DIRETRIZES/
│ ├── ESTRUTURA_EMAIL_CORPORATIVO.md
│ ├── FLUXO_DE_FUNCIONAMENTO.md
│ ├── FUNCIONALIDADES.md
│ ├── LOGS_E_AUDITORIA.md
│ ├── OUTPUT.md
│ ├── SUGESTOES_MELHORIAS.md
│ ├── TRATAMENTOS_DE_ERROS.md
│ └── VALIDACAO_EMAIL.md
└── output/
Documentação: índice em docs/README.md. FAQ (FAQ.md), UX/UI (UX-UI.md), execução por SO (EXECUCAO_SO.md), fluxo (FLUXO_DE_FUNCIONAMENTO.md), funcionalidades (FUNCIONALIDADES.md), CLI (CLI.md), erros (TRATAMENTOS_DE_ERROS.md), saída (OUTPUT.md), logs e auditoria (LOGS_E_AUDITORIA.md), e-mail corporativo (ESTRUTURA_EMAIL_CORPORATIVO.md), validação (VALIDACAO_EMAIL.md), API (API.md), arquitetura (ARCHITECTURE.md), sugestões (SUGESTOES_MELHORIAS.md).
MIT. Autoria: AnswrSe3kr.
- Projeto estruturado para GitHub
- CLI-only, sem UI gráfica ou API
- Emojis sempre ativos
- Saída fixa em
./output/ - Funciona offline