Je constate qu’un nombre faible mais constant de comptes spam est créé chaque jour sur mon forum Discourse. Beaucoup semblent utiliser des adresses e-mail fictives ou invalides.
Je cherche un moyen d’automatiser le processus suivant :
Un nouvel utilisateur crée un compte et Discourse envoie l’e-mail d’activation/vérification.
Si l’e-mail d’activation génère un rebond dur confirmé, le compte utilisateur non activé est automatiquement supprimé.
Le système enregistre le domaine de l’adresse e-mail ayant fait l’objet du rebond.
Si plusieurs nouveaux comptes utilisant le même domaine génèrent des rebonds durs dans une période de temps définie, le domaine est automatiquement ajouté à la liste des domaines e-mail bloqués.
Les fournisseurs d’e-mail légitimes courants tels que Gmail, Outlook, Yahoo, etc., doivent être exclus du blocage automatique des domaines.
Par exemple, si plusieurs comptes utilisant différentes adresses e-mail provenant de suspicious-domain.example sont créés en quelques jours et que tous leurs e-mails d’activation génèrent des rebonds durs, le domaine finira par être bloqué pour la création de nouveaux comptes.
L’objectif est d’utiliser les données de rebond comme un autre signal pour identifier les inscriptions spam automatisées, tout en nettoyant automatiquement les comptes non activés créés avec des adresses e-mail inexistantes.
Discourse dispose-t-il actuellement d’un plugin ou d’une fonctionnalité existante permettant de réaliser cela ? Sinon, existe-t-il des points d’accroche (hooks) disponibles dans le processus de gestion des rebonds de Discourse qui pourraient être utilisés pour créer un plugin implémentant cette fonctionnalité ?
Avez-vous jeté un œil à ces paramètres, car je pense qu’ils vous permettront d’avancer un peu dans cette direction :
Configurez ces paramètres dans /admin/settings/
Paramètre
Valeur suggérée
Effet
purge_unactivated_users_grace_period_days
1
Supprime les comptes non activés après 1 jour au lieu de 14. Ce n’est pas instantané comme demandé dans #2, mais l’effet est le même avec un délai plus court.
blocked_email_domains
Ajoutez manuellement les TLD/domaines de spam connus
Bloque l’inscription provenant de domaines identifiés comme indésirables
Pour une automatisation plus poussée, je pense qu’il faudrait développer un plugin (ou qu’aucun n’existe à ma connaissance), ou vous pouvez consulter la nouvelle fonctionnalité de workflows. Je ne sais pas si ce que vous souhaitez est déjà possible, mais elle est mise à jour presque quotidiennement, alors qui sait
Pour la piste des plugins, il y a un événement auquel vous pourriez vous raccorder : DiscourseEvent.on(:email_bounce)
Merci. J’ai déjà mis en place le VERP, et je passe actuellement en revue manuellement les e-mails rebondis, je supprime les comptes associés et j’ajoute les domaines des récidivistes à la liste des domaines e-mail bloqués en utilisant les paramètres que vous avez mentionnés.
Il semble que je doive maintenant me plonger dans les Workflows. C’est le moment d’apprendre une nouvelle fonctionnalité de Discourse et de voir dans quelle mesure je peux automatiser ce processus.