移除已暂存的Users - 如何操作?

你好,我已经为匿名用户的来信设置了邮件处理功能。

我决定通过邀请功能来测试这一设置。邮件从“通知邮件”发送至与分类关联的邮箱。新主题成功创建,临时用户也已生成。

随后,我打开该邮箱,将邀请邮件转发给我自己(即再次转发至同一分类)。在启用了“转发邮件”的测试选项后,系统返回提示:无法创建主题,因为未检测到正文内容。这看起来像是一个 bug,不过暂且不管它。结果,同一个临时用户又创建了第二个主题“邮件问题 – 无内容”。

我的问题是:如何删除这个临时用户?:slightly_smiling_face:

我进入管理面板,依次访问“用户”>“临时用户”。首先点击删除该用户的所有帖子,然后删除该用户(仅删除,不封禁 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

该问题可复现,步骤如下:

  1. 将邮箱分配给某个分类,例如 support@tmch.icu,该分类仅对特定群组可见。
  2. 前往个人资料中的邀请页面 https://tmch.icu/my/invited(我是管理员)。
  3. support@tmch.icu 发送邀请。
  4. 5 分钟后,在 https://tmch.icu/admin/email/received 检查收到的邮件。
  5. 检查 https://tmch.icu/admin/users/list/staged 是否出现了待处理用户。
  6. 检查是否已创建主题。
  7. 打开 support@tmch.icu 的邮件客户端,将刚收到的邀请邮件原样转发给 support@tmch.icu。不要修改邮件内容,直接转发即可。
  8. 5 分钟后,在 https://tmch.icu/admin/email/received 检查收到的邮件——可能由于邮件正文为空而未被处理,可忽略。
  9. 前往 https://tmch.icu/admin/users/list/staged 删除该待处理用户。对应的主题将自动删除。
  10. 等待 5 分钟后刷新以下页面:
    https://tmch.icu/admin/users/list/staged
    https://tmch.icu/admin/email/received
    your category
  11. 您应该会看到已被删除的用户和主题重新出现。
  12. 重复步骤 9 至 11,您会看到相同的情况,最后一次也是如此。

此用户仍然“存活”……每次我删除他时,他都会被复活。我该如何深入调查这一问题?

更新:为解决此问题,我将该类别的收件邮箱地址移除 10 分钟。随后,一封发送至 noreply@tmch.icu(这是发送邀请的通知邮箱)的邮件显示地址 support@tmch.icu 无法访问。此后该问题已停止。