Problemas com BOTs de e-mails e cadastros com email falsos
Fui atacado por e-mails falsos e criei um validador gratuito e leve para TypeScript
Recentemente, enfrentei um problema recorrente em uma das minhas aplicações: uma série de ataques com cadastros falsos, usando e-mails descartáveis, inválidos, inexistentes ou até armadilhas para spam. Em poucas horas, milhares de requisições começaram a sobrecarregar partes do sistema — algo que normalmente exigiria soluções pagas ou APIs robustas para mitigação.
E como sempre faço, me perguntei:
“Por que não criar minha própria solução, leve e gratuita, baseada no que realmente preciso?”
Foi assim que nasceu o email-disposable-detector, um pacote NPM feito em TypeScript, com foco em desenvolvedores que precisam de verificação básica de e-mails de forma rápida e gratuita — ideal para projetos pessoais, MVPs, ferramentas internas, e APIs simples.
🔥 Por que eu criei esse pacote?
Além da frustração com os ataques, percebi que:
- A maioria das APIs de validação de e-mail são pagas ou limitadas;
- Algumas alternativas gratuitas são instáveis ou incompletas;
- Os pacotes existentes não combinavam fontes diferentes de verificação;
- Eu queria algo com uma estrutura modular, fácil de estender e adaptar;
- E principalmente: ter controle total sobre as validações no meu backend, sem depender apenas de terceiros.
🚀 O que o pacote faz?
O email-disposable-detector
realiza diversas verificações combinadas para avaliar um e-mail:
- Verificação de sintaxe e domínio via Rapid Email Verifier
- Verificação de e-mails descartáveis com múltiplas fontes:
- otm-detector (principal)
- Debounce.io
- Disify
- Validator.pizza
- Lista pública do GitHub com domínios descartáveis
- Consulta RDAP do domínio para saber dados como data de registro e status
- Sugestões de correção com Levenshtein para e-mails com domínios mal digitados (
gamil.com
,uol.con
, etc.)
🛡️ Aviso importante
Esse pacote não substitui ferramentas de segurança profissional. Ele é ideal para validações simples, bloqueio de bots comuns ou uso leve.
Para aplicações críticas e públicas, considere também:
- Sistemas de login com OAuth2 / Social Login (Google, Apple, etc.)
- WAFs (Web Application Firewalls) para mitigação de ataques automatizados
- Serviços profissionais como ZeroBounce, Kickbox, NeverBounce (se você pode pagar)
- Proteções com Rate Limiting, Captchas e Tokens temporários
🧪 Como usar?
Instale com:
npm install email-disposable-detector
Exemplo de uso:
import { validateEmailFull } from 'email-disposable-detector';
const result = await validateEmailFull('[email protected]');
console.log(result);
/*
{
status: 200,
email: '[email protected]',
domain: 'dominio.com',
syntax: true,
disposable: false,
...
}
*/
📦 Projeto no NPM e GitHub
- NPM: https://www.npmjs.com/package/email-disposable-detector
- GitHub: https://github.com/mlucascosta/email-disposable-detector
🙋♂️ Conclusão
Criei esse pacote para resolver um problema real, que pode atingir qualquer dev: bots, spam, e ataques com e-mails inválidos. Em vez de depender apenas de APIs pagas ou soluções prontas, agora tenho uma ferramenta modular, extensível e gratuita, e estou feliz em compartilhar com a comunidade.
Se você tiver sugestões, ideias ou quiser contribuir, as portas estão abertas no GitHub. E se te ajudou, deixe uma ⭐ por lá!