DiscourseはSMTPサーバーに接続するが、そこからのメール送信に失敗する

最初のユーザー登録メールが届きません。

Discourse doctor の結果は以下の通りです。
SMTP サーバーへの接続は成功しました。
メールの送信に失敗しました。

ただし、以下の点は正常に動作しています。
mail.domain.com のポート 587 への Telnet 接続が成功し、EHLO mailserver コマンドも機能します。

この問題を解決する方法をご存知でしょうか?ご協力をいただければ幸いです。

メールサーバーのログを確認してみてください。そのエラーは Discourse-doctor が理解できない種類のものかもしれません。

exim4 の設定方法は Google で検索する必要があります。

7. The default configuration file より

元のメッセージの送信者アドレスが無効な場合、バウンスメッセージが恒久的なエラーに遭遇すると「フリーズ」が発生し、バウンスメッセージを配信できなくなります。

私の推測では、通知メールアドレスを変更するか、exim をサブドメインを使用するように設定する必要があるでしょう。

コンテナの再ビルドを忘れていませんか?

とにかく、以下の手順でコンテナを確認できます:

docker exec -it app rails c

その後、Rails コンソールから:

[1] pry(main)> ENV

すべての SMTP 環境変数を簡単に確認できます。

Exim4 は、メールの送受信が正常に行われることを確認するためにテストされました。
Discourse は、すべての正しい認証情報を使用して discourse-setup で再構築されました。

Hostname      : forum domainname com
Email         : user@test com
SMTP address  : mail forum domainname com
SMTP port     : 587
SMTP username : postmaster@forum domainname com
SMTP password : password

その後、discourse-doctor を実行して、ローカルの exim4 メールサーバーから Discourse がメールを送信できるかテストしました。

discourse-doctor の出力は以下の通りです。
「SMTP サーバーへの接続は成功しました。」
「メールの送信に失敗しました。」

ただし、exim4 のログにはエラーは記録されていません。

なぜメール送信が失敗するのでしょうか?
これは一般的な問題でしょうか?

なお、SMTP アドレスは「mail forum domainname com」ですが、先頭に「mail」は必要でしょうか?

discourse-doctor は、Discourse が「mail forum domainname com」に接続していることを示していますが、Discourse はメールを送信できていません。

おそらく、フォーラムのホスト名と、メールサーバーが送信時に使用するドメイン名の間に不一致があるのでしょう。

Discourse がメール送信に使用するホスト名は何ですか?
forum.somedomain.com を使用しますか?
それとも
mail.forum.somedomain.com を使用しますか?

デフォルトでは、私の記憶では email@forum.somedomain.com です。

これは、email@somedomain.com になることを期待している人々を混乱させることがあります。