最初の登録メールが送信されません

こんにちは、

Discourse を 新規インストール しました。

初回接続時に管理者アカウントのログイン名とパスワードの作成を求められ、アクティベーションメールの送信が行われるはずでした。

しかし、そのアクティベーションメールが届きませんでした(もちろんスパムフォルダも確認しました)。そのため、ドクターを呼んで 指示通りに自分宛てにテストメッセージを送信しました。このメールは即座に受信トレイに届きました。

コマンドラインから管理者アカウントを作成することは可能ですが、何が起きているのか理解したいと考えています。将来的にユーザーが登録を試みる際にも同様の問題が発生する可能性があるためです。

お手伝いいただけますでしょうか?

よろしくお願いいたします。

問題が発生した可能性は主に2つあります:

  • メールが送信されなかった
  • メールは送信されたが、配信されなかった

これは新しいインスタンスなので、Railsコンソールからすべての送信メールログを確認するのが最も簡単です:

discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)

何か表示されれば、少なくともSMTPサーバーに引き渡されたことがわかります。ここがDiscourseの責任の範囲です。

何も表示されない場合は、おそらく送信されていません。その場合、管理者としてログインした後に /logs および /sidekiq のURLパスを確認すると、参考になるログが見つかる可能性があります。

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 ファイルには4つの登録メッセージが見つかります(実際、4回登録を試みました)。しかし、それらの登録メッセージは受信されていません。エラーや警告がないにもかかわらず、送信されていないのではないかと推測されます。

成功して送信され、受信された 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 ログには、何かが不足していることを示す4つのメッセージが表示されています(失敗した登録メッセージも4つあります)。

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

これは何かの手がかりになりますか?