Discourse 最新版でメールが送信されない

Discourse が SMTP 経由でメールを送信する際に問題が発生しているようです。

ホスト名については、Email Service Provider で確認済みであり、ホスト VM から Telnet および sendmail を使用して、また Discourse Docker コンテナ内の Telnet を使用して、メールを正常に送信できています。

Docker コンテナ内で ‘sendmail’ を統合しようとしたところ、CLI から直接メールを送信した際に「ホスト名が解決できませんでした」というエラーが発生しました。

これは、VM と SMTP サービスプロバイダー間の通信に問題がないことを意味すると考えられます。

すべての通常の SMTP ポートを試しましたが、app.yml ファイルの設定は正しいと信じています。VM は Linux 20.04 で、テストでは 24.04 および 22.04 も使用しました。

暗号化は Let’s Encrypt 証明書で行われています。

  DISCOURSE_SMTP_ADDRESS: <smtp_provider>
  DISCOURSE_SMTP_PORT:  <port>
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_USER_NAME: apikey
  DISCOURSE_SMTP_PASSWORD: "<secret>"
  DISCOURSE_SMTP_ENABLE_START_TLS: true

Discourse のフォームから送信するたびに、「実行期限切れ」というメッセージが表示されます。

「いいね!」 1

メールサービスプロバイダーの制限を確認してください。クォータに達すると、送信が失敗することがあります。Outlookからメールを送信してみてください。私にも一度ありました。あなたの問題は違うかもしれませんが、誰かの役に立つかもしれません。

「いいね!」 1

「ホスト名が解決できませんでした」というエラーが表示される場合、ホスト名を解決できないという問題が発生しているようです。

rake emails:test[you@somewhere.com] は機能しますか?また、新しいDiscourseのインストールでメールのトラブルシューティングを行う も参照してください。

「いいね!」 2

フィードバックありがとうございます。週末に確認しました。Digital OceanにVMを作成し、BrevoでSMTPを設定しました。すべて問題ありませんでした。:slight_smile:

したがって、Discourseに問題はありません。

Discourseはメール送信にNET::smtpのようなRuby GEMを使用しており、デフォルトではコンテナ内にSMTPサーバーがインストールされていないと推測しています。私たちが直面している問題はAzureテナントで発生しています。

外部SMTPサービスへのリクエストが、テナントの上位にある何らかのスパム防止メカニズムによってブロックされているように感じます。

問題を特定するために、さらにいくつかのテストを行う必要があります。

Discourseがどのようにメール送信を行っているかについての情報があれば幸いです :slight_smile: Ruby on Railsにはまだ慣れていません。

「いいね!」 1

Digital Oceanインスタンスで行ったのと同じようにSMTPを設定しましたか?

Rakeタスクを実行するとどうなりますか?

同じ:接続なし。

各インスタンスで異なるSMTPリレーを使用しています。

検証のために実行しているテストがいくつかあります。

  • Discourseをdocker-compose経由でローカルにインストールする
  • Discourseを別のAzureテナントの別のサブスクリプションにインストールする
  • BrevoとSendGridの両方のSMTPリレーを検証する

これらのテストの後、投稿を更新します…

接続できないのは接続できないということです。ファイアウォールでブロックされていることは明らかです。

ポート 2525 を試してみてはどうでしょうか?または、プロバイダー(例: DigitalOcean)によって目的のポートがブロックされていないか確認してください。

@pfaffman お時間をいただきありがとうございます。結果として、問題はDNS関連でした。

すべて正常に動作しています :grinning:

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.