你好,
我刚完成了一次 Discourse 的 全新安装。
首次连接时,系统要求我为管理员账户创建用户名和密码,并应向我发送一封激活邮件。
但我没有收到这封激活邮件(当然我也检查了垃圾邮件文件夹),于是我 求助了“医生”,并按照要求向自己发送了一封测试邮件。这封邮件立即出现在我的收件箱中。
我知道可以通过命令行创建管理员账户,但我希望了解具体发生了什么,因为未来尝试注册的用户也可能遇到同样的问题。
您能帮忙吗?
此致,
可能出现了以下两种问题之一:
由于这是一个新实例,最简单的方法是通过 Rails 控制台检查所有出站邮件日志:
discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)
如果您看到有记录,说明邮件至少已移交至 SMTP 服务器,这也是 Discourse 责任的终点。
如果您没有看到任何记录,则邮件很可能未发送。您可以尝试以管理员身份登录后,访问 /logs 和 /sidekiq 路径,查看是否有相关的日志信息。
我们可以看到 test 消息已通过 ./discourse-doctor 发送(事实上我也收到了),但没有任何 registration 消息的记录:
discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)
=> [["user@domain.org", "test_message", 2026-05-13 16:23:41.417177000 UTC +00:00, "250 2.0.0 Ok: queued as 4B4DDB0059A"]]
我们在 production.log 文件中找到了四条注册消息(确实我尝试注册了四次)。但这些注册消息从未被收到,因此我猜测它们甚至从未被发送,尽管没有任何错误或警告。
我们可以注意到,在这些日志中,成功发送(并已收到)的 test 消息没有任何痕迹。
root@my-vps-app:/var/www/discourse/log# cat production.log | grep user
Parameters: {"authenticity_token" => "ityyLIdjT7xvdxEd01LjMT08-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
Parameters: {"authenticity_token" => "tnDxYkOOwXYcv59Ez4t8vWPir-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
Parameters: {"authenticity_token" => "bvOwVYHS3N_UELipxVEG3L3LY-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
Parameters: {"authenticity_token" => "oo6GN-n7clGI5F1-uqzsZcadeP-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
其他日志文件均为空:
root@my-vps-app:/var/www/discourse/log# cat production_errors.log
root@my-vps-app:/var/www/discourse/log# cat sidekiq.log
root@my-vps-app:/var/www/discourse/log# cat unicorn.stderr.log
root@my-vps-app:/var/www/discourse/log# cat unicorn.stdout.log
Discourse 应用的 Docker 日志显示了四条消息,指出缺少某些内容(而我们恰好有四条失败的注册消息):
root@my-vps:/var/discourse# docker logs app
...
I, [2026-05-13T16:14:30.769269 #3290] INFO -- : worker=7 gen=0 pid=4295 registered
I, [2026-05-13T16:14:30.815178 #4295] INFO -- : worker=7 gen=0 pid=4295 ready
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing
这能有所帮助吗?