Executando verificação de segurança...
18

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:

  1. Verificação de sintaxe e domínio via Rapid Email Verifier
  2. Verificação de e-mails descartáveis com múltiplas fontes:
  3. Consulta RDAP do domínio para saber dados como data de registro e status
  4. 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


🙋‍♂️ 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á!

Carregando publicação patrocinada...
1

Estava pensando em criar uma API similar para meus projetos que desenvolvo, dei uma olhada no src do pacote que desenvolveu, ficou bem completa! Irei utilizar.. obrigado pela contribuição :)

1

Desde já, agradeço pela excelente contribuição à comunidade. Ferramentas como essa são extremamente relevantes para a segurança de sistemas e aplicações. Estou desenvolvendo uma aplicação e, com certeza, farei uso desse pacote — foi uma solução muito útil.

1
1

A ideia é interessante. Vai precisar de constante evolução, porque a tendência é só piorar. De uns anos pra cá aumentou milhares de vezes, porque agora um agente de IA faz todo o processo de criação de email, redação e envio, é tenebroso. São trocentos emails enviados todos os dias com spam e ataques. Complicado pra quem tem SaaS ou quer tocar algo honesto na web.

1

Exato, a ideia de ter começado isto, foi para contribuir com a comunidade e também que a comunidade possa auxiliar a evoluir esse pacote.

0
1

Opa, o link pode ser colocado no corpo do post. Parabéns pela iniciativa de criar um projeto para público de graça e público. Pois isso atinge todos os Devs.