Первое письмо с регистрацией не отправлено

Здравствуйте,

Я только что выполнил чистую установку 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 

Логи Docker для приложения Discourse показывают четыре сообщения о том, что чего-то не хватает (и у нас есть четыре сообщения регистрации, которые не удалось отправить) :

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

Может ли это помочь?