你好,我已经为匿名用户的来信设置了邮件处理功能。
我决定通过邀请功能来测试这一设置。邮件从“通知邮件”发送至与分类关联的邮箱。新主题成功创建,临时用户也已生成。
随后,我打开该邮箱,将邀请邮件转发给我自己(即再次转发至同一分类)。在启用了“转发邮件”的测试选项后,系统返回提示:无法创建主题,因为未检测到正文内容。这看起来像是一个 bug,不过暂且不管它。结果,同一个临时用户又创建了第二个主题“邮件问题 – 无内容”。
我的问题是:如何删除这个临时用户?
我进入管理面板,依次访问“用户”>“临时用户”。首先点击删除该用户的所有帖子,然后删除该用户(仅删除,不封禁 IP)。几分钟后,该用户及其消息又出现了。该如何彻底删除该用户及其消息?问题出在哪里?日志中没有任何错误或警告信息。
已移除。该用户(具有相同的电子邮件和昵称)被创建了 3 次。我认为这是不正确的行为。管理员无法通过检查数据库中的用户 ID 来确定有多少用户对应同一封电子邮件。这看起来像是一个漏洞,但我不确定。
您确定邮箱地址是相同的吗?预置用户仅以邮箱形式存在,因此我不确定如何会出现重复。能否在此提供具体的用户信息?
是的,我是。在删除用户及其消息 3 次后,Topics 表显示如下信息:
您可以看到,ID 330、332 和 334 本应属于同一个主题,它们的创建时间甚至相同。我认为每次尝试删除用户时,系统都创建了一个新用户,因此主题出现了更新的时间戳。
ID 331、333 和 335 的情况也是如此。
我的设置如下:
anonymous posting min trust level = TL4
pop3 polling enabled
pop3 polling username = support@tmch.icu
pop3 polling delete from server = off
log mail processing failures = on
email in = on
email in min trust = TL0
block auto generated emails = off
enable forwarded emails = on
该问题可复现,步骤如下:
- 将邮箱分配给某个分类,例如
support@tmch.icu,该分类仅对特定群组可见。
- 前往个人资料中的邀请页面
https://tmch.icu/my/invited(我是管理员)。
- 向
support@tmch.icu 发送邀请。
- 5 分钟后,在
https://tmch.icu/admin/email/received 检查收到的邮件。
- 检查
https://tmch.icu/admin/users/list/staged 是否出现了待处理用户。
- 检查是否已创建主题。
- 打开
support@tmch.icu 的邮件客户端,将刚收到的邀请邮件原样转发给 support@tmch.icu。不要修改邮件内容,直接转发即可。
- 5 分钟后,在
https://tmch.icu/admin/email/received 检查收到的邮件——可能由于邮件正文为空而未被处理,可忽略。
- 前往
https://tmch.icu/admin/users/list/staged 删除该待处理用户。对应的主题将自动删除。
- 等待 5 分钟后刷新以下页面:
https://tmch.icu/admin/users/list/staged
https://tmch.icu/admin/email/received
your category
- 您应该会看到已被删除的用户和主题重新出现。
- 重复步骤 9 至 11,您会看到相同的情况,最后一次也是如此。
此用户仍然“存活”……每次我删除他时,他都会被复活。我该如何深入调查这一问题?
更新:为解决此问题,我将该类别的收件邮箱地址移除 10 分钟。随后,一封发送至 noreply@tmch.icu(这是发送邀请的通知邮箱)的邮件显示地址 support@tmch.icu 无法访问。此后该问题已停止。