Private Discourse 实例,通过 Mailgun 发送邮件。版本 2.4b1。
在多个组受保护的分类中:
- CategoryA 由 GroupA 保护
- CategoryB 由 GroupB 保护
此外还有两位用户:
-
User1
- 是 GroupA 的成员。
-
User2
- 是 GroupA 和 GroupB 的成员。
两位用户均超过 24 小时未访问站点。两人都已设置通知,接收其有权访问的所有分类中的新帖子通知。
一个新主题发布时最初被放入 CategoryA,但很快被重新分类到 CategoryB。
数小时后,我在检查 MailGun 的日志时发现,User1 和 User2 都收到了该新主题的电邮通知,但邮件标题中标注该主题属于 CategoryB,而 User2 此前根本不知道 CategoryB 的存在。
email time window mins(邮件时间窗口,分钟)设置为 5 分钟,而帖子被重新分类的时间远早于该时间窗口到期。该字段下方的说明写着:在发送任何通知邮件之前等待(n)分钟,以便用户有机会编辑并最终确定其帖子。
看来邮件通知的逻辑存在问题:帖子在发布后几秒钟就被移动了,而邮件证据表明,重新分类发生在邮件发送之前。邮件是从用户既不知情也无法访问的分类发送的,最终导致信息泄露给了不该接收的一方。
在最坏的情况下,我期望邮件应归属为 User1 有权访问的 CategoryA,尽管如果主题在邮件发送前又被移出了该分类,这仍然不可取。理想情况下,应在邮件准备发送时进行最终确认,这样可以避免人为错误,并完全杜绝信息泄露。