Estou observando um número pequeno, porém consistente, de contas de spam sendo criadas diariamente em meu fórum Discourse. Muitas parecem estar usando endereços de e-mail falsos ou inválidos.
Estou procurando uma maneira de automatizar o seguinte processo:
- Um novo usuário cria uma conta e o Discourse envia o e-mail de ativação/verificação.
- Se o e-mail de ativação resultar em um retorno definitivo (hard bounce) confirmado, a conta de usuário não ativada é automaticamente excluída.
- O sistema registra o domínio do endereço de e-mail que retornou erro.
- Se várias novas contas usando o mesmo domínio resultarem em retornos definitivos dentro de um período de tempo definido, o domínio é automaticamente adicionado à lista de domínios de e-mail bloqueados.
- Provedores de e-mail legítimos comuns, como Gmail, Outlook, Yahoo, etc., precisariam ser excluídos do bloqueio automático de domínios.
Por exemplo, se várias contas usando diferentes endereços de e-mail de suspicious-domain.example forem criadas em alguns dias e todos os seus e-mails de ativação resultarem em retorno definitivo, o domínio eventualmente será bloqueado para criar contas adicionais.
O objetivo é usar os dados de retorno como outro sinal para identificar registros de spam automatizados, enquanto limpa automaticamente as contas não ativadas criadas com endereços de e-mail inexistentes.
O Discourse possui atualmente um plugin ou funcionalidade existente que possa realizar isso? Caso contrário, há ganchos (hooks) disponíveis no processo de tratamento de retornos do Discourse que poderiam ser usados para criar um plugin que implemente isso?