我们可以看到,使用 ./discourse-doctor 发送了 测试 消息(事实上我也确实收到了),但没有 注册 消息的记录:
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 文件中找到了四条注册消息(事实上我尝试注册了四次)。但这些注册消息从未被收到,因此我猜测它们从未被发送过,即使没有错误或警告。我们可以注意到,那些日志中并没有成功发送(并收到)的测试消息的踪迹。
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
这能有所帮助吗?