SSO 的文档明确指出,应在 SSO 提供商端预先进行邮箱验证,否则并非明智之举。这很有道理。
然而,该验证状态随后可能会发生变化。例如,SSO 提供商可能发现向该用户发送的邮件遭遇了过多硬退信、反馈循环(FBL)等问题。在 SSO 上下文中,处理此类情况的最佳实践是什么,以便 Discourse 也能(仅暂时)停止向该用户的邮箱地址发送邮件?
我曾看到一些建议,通过将账户的所有与邮箱相关的设置更改为不发送邮件来停止发送邮件,但这将是永久性的,或者至少难以撤销。我正在寻找一种临时方案,直到 SSO 提供商再次验证通过。
既然 Discourse 在邮件退信数量超过某个阈值时会自动停止发送邮件,那么通过操作相关数据来暂停发送邮件是否可行?我查阅了 API,但尚未找到修改该数据的接口,不过我可能有所遗漏。
简而言之,如何阻止特定 SSO 账户发送邮件?
如果此问题已有解答,敬请见谅,但我未能找到相关信息。
sam
(Sam Saffron)
2020 年2 月 10 日 01:55
2
mentalstring:
简而言之,如何阻止特定的 SSO 账户发送邮件?
我们目前没有用于设置退信分数的直接 API,我想这正是您想要实现的功能。我欢迎提交一个 PR 来添加相关支持,以便管理员可以手动将用户的退信分数设置为任意值。
除了邮件退信之外,可能还有其他原因需要停止向特定账户发送邮件:例如邮件反馈循环、在 GDPR 背景下提出的法律请求(要求暂时不使用该个人数据);SSO 提供商可能还存在其他法律或业务方面的原因需要如此操作。
我提到调整退信分数,是因为这可能是一种实现方式,尽管它或许有些权宜之计。如果别无他法,我会采用这种方法。
但如果尚未提供该功能,是否可以考虑增设一个用户字段,用于全局启用或禁用某账户的所有邮件?该字段不仅可通过 API 控制,或许也可由工作人员操作?我不确定这是否意味着改动过大,或者代码中是否有集中检查该设置的位置。不过,我认为这是一种更通用的方法,相比通过退信分数来停止向账户发送邮件,它可适用于更多使用场景。