我发现我的 Discourse 论坛每天都会被创建少量但数量稳定的垃圾账户。许多账户似乎使用了虚假或无效的电子邮件地址。
我正在寻找一种自动化以下流程的方法:
- 新用户创建账户,Discourse 发送激活/验证电子邮件。
- 如果激活电子邮件导致确认的硬退信(hard bounce),则自动删除未激活的用户账户。
- 系统记录退信电子邮件地址的域名。
- 如果在规定的时间内,多个使用相同域名的新账户导致硬退信,则该域名会自动添加到被阻止的电子邮件域名列表中。
- 常见的合法电子邮件提供商(如 Gmail、Outlook、Yahoo 等)需要排除在自动域名阻止之外。
例如,如果在几天内创建了多个使用不同电子邮件地址但来自 suspicious-domain.example 的账户,且所有这些账户的激活电子邮件都发生硬退信,那么该域名最终将被阻止创建更多账户。
目标是利用退信数据作为识别自动化垃圾注册的另一个信号,同时自动清理使用不存在的电子邮件地址创建的未激活账户。
Discourse 目前是否有插件或现有功能可以实现这一点?如果没有,Discourse 的退信处理流程中是否有可用的钩子(hooks),可用于构建插件来实现此功能?