email-disposable-detector
v2.0.1
Published
Valida e detecta e-mails descartáveis de forma gratuita, com múltiplas fontes.
Maintainers
Readme
📧 email-disposable-detector
Validador robusto e gratuito de e-mails descartáveis (disposable) e inválidos, com múltiplas fontes externas e lógica própria. Ideal para aplicações que precisam garantir qualidade de cadastro e mitigar spam.
🚀 Visão Geral
Este pacote TypeScript/NPM realiza a validação completa de um endereço de e-mail utilizando as seguintes etapas:
- Normalização e verificação de sintaxe
- Validação técnica com API principal gratuita (Rapid Email Verifier)
- Consulta ao RDAP para obter informações detalhadas do domínio
- Verificação se o domínio é descartável (via múltiplas fontes)
- Sugestão de correção de domínio com Levenshtein
- Resultado final estruturado com score, status e riscos
🔧 Tecnologias e Serviços Utilizados
| Fonte / Biblioteca | Função | Status |
|--------------------|--------|--------|
| rapid-email-verifier | Validação principal (sintaxe, domínio, MX, caixa postal, role-based) | ✅ Gratuita |
| otm-detector | Verificação de domínio descartável via base própria | ✅ Open Source |
| Debounce | Verificação extra de domínio descartável | ✅ Gratuita |
| Disify | Verificação extra de domínio descartável | ✅ Gratuita |
| Validator.pizza | Último fallback para detectar e-mails inválidos | ✅ Gratuita |
| rdap.org | Consulta ao RDAP para metadados do domínio (como data de criação) | ✅ Gratuita |
| tldts | Parsing confiável do domínio | ✅ |
| fastest-levenshtein | Correção de domínios comuns | ✅ |
⚠️ Atenção
- Este projeto não depende de WHOIS tradicional, mas sim de RDAP (protocolo moderno recomendado pelo ICANN).
- As APIs externas gratuitas podem falhar ou limitar chamadas em grande escala. Em caso de erro, o sistema continua com os dados locais.
- A verificação de e-mails descartáveis não se apoia apenas na API principal, por isso pode retornar resultados diferentes (mais confiáveis).
📥 Instalação
npm install email-disposable-detectorOu, se for clonar o projeto:
git clone https://github.com/mlucascosta/email-disposable-detector.git
cd email-disposable-detector
npm installComo usar o cli
npx ts-node cli.ts [email protected]🧩 Como usar (em código)
import { validateEmailFull } from './src/core/validateEmailFull';
const resultado = await validateEmailFull('[email protected]');
console.log(resultado);Exemplo de resposta:
{
"status": 200,
"email": "[email protected]",
"normalized_email": "[email protected]",
"domain": "example.com",
"mx": true,
"syntax": true,
"domain_exists": true,
"mailbox_exists": true,
"score": 95,
"is_role_account": false,
"disposable": false,
"blocklisted": false,
"rdap_info": {
"createdDate": "1997-08-22T04:00:00Z",
"nameservers": ["NS1.EXAMPLE.COM", "NS2.EXAMPLE.COM"],
"status": ["client update prohibited"]
},
"did_you_mean": null
}💬 Contribua
Pull requests são bem-vindos! Para ideias ou correções, abra uma issue.
