メールを送信できません

アカウントを作成してもメールが届きません。何か間違ったことをしましたか? SMTPアドレスとSMTPドメインの違いは何ですか?

SMTP アドレス: user@example.com
SMTP ドメイン: example.com

「いいね!」 1

手伝ってもらえますか?オンラインのSMTPツールを使ってみましたが、うまくいきました。しかし、Discourseではサインアップ時にメールが送信されないようです。

こんにちは、@ethhaqn さん :slight_smile:

トラブルシューティングガイドは確認されましたか?

「いいね!」 3

telnet mail.theapi.tech 25 を使用したところ、220 myhelper.tech ESMTP Postfix という、このシステムをテストするために使用していた古いドメインが返ってきました。これはメール送信に影響を与えていると思いますか?もしそうなら、ドメインはどこで変更できますか?繰り返しになりますが、これは古いドメインですが、telnet mail.theapi.tech 25 を実行したときにこのドメインが返されるように、どこに入力したのかわかりません。

また、./discourse-doctor が珍しいエラーを検出したが、問題を解決できなかったことも特筆すべきかもしれません。

さらに、ポート 80 が使用中だったため、Discourse のセットアップに ./discourse-setup は使用しませんでした。代わりに、containers/app.yml を手動で編集し、./launcher rebuild app を実行しました。

tail shared/standalone/log/rails/production.log を使用したところ、ログに次のように表示されました。

Processing by FinishInstallationController#confirm_email as HTML
  Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 255)
  Rendered layout layouts/finish_installation.html.erb (Duration: 6.7ms | Allocations: 2103)
Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms | Allocations: 2735)
start
  Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 34)
Delivered mail 0e5b023a-90f9-4c23-ae2b-488b4d70d907@theapi.tech (39.6ms)
Job exception: hostname "mail.theapi.tech" does not match the server certificate

fail

openssl s_client -connect mail.theapi.tech:25 -starttls smtp -showcerts

Verification error: self signed certificate

したがって、app.ymlDISCOURSE_SMTP_OPENSSL_VERIFY_MODE: noneを設定する必要があります。

「いいね!」 2

メールアドレスを確認する必要がなくなりますか?

いいえ。これにより、現在失敗している検証をDiscourseがスキップします。

これでうまくいきました。SSL証明書を取得するにはどうすればよいですか?これは私のapp.ymlです。

image

独自のメールサーバーをセットアップする部分は、このフォーラムの範囲外だと思います。

「いいね!」 1

いいえ、メールサーバーではなく、実際のDiscourseサイトの方です。

Run other websites on the same machine as Discourse に従ってください。それでもうまくいかない場合は、新しいトピックを開いてください。

「いいね!」 1

こんにちは。ローカルのDiscourseインスタンスを2.9.0.beta4にアップグレードしましたが、containers/app.ymlファイルにDISCOURSE_SMTP_OPENSSL_VERIFY_MODE: "none"を追加してアプリを再構築した後も、次のようなエラーが引き続き発生しています。

  Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 34)
Delivered mail 31c5b9eb-1077-4155-b040-314c4a8566cb@taverne.colorfulminis.com (11.3ms)
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

これにより、Discourseインスタンスはメールを送信できなくなります。
これに関する既知の問題はありますか?

参考情報:2.8.0.beta9でプリプロダクションインスタンスを実行しており、まったく同じ設定ですが、メールは問題なく送信されています。

ご協力ありがとうございます。

「いいね!」 1

Alexis様

Ubuntu 22.04のVM上で、dockerベースの2.9.0.beta4 Discourseインスタンスで全く同じ問題が発生しています。container/app.ymlDISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none(およびdocker環境の$DISCOURSE_SMTP_OPENSSL_VERIFY_MODEをnoneに設定)を設定しても、certificate verify failed (self signed certificate)が引き続き発生します。

追記:参考までに、安定版(2.8.3)は期待通りに動作します。

参考までに:DISCOURSE_SMTP_ENABLE_START_TLS: true を有効にすることで、私の問題は解決しました。

回答を探しても見つからず、このトピックにたどり着いた方へ:

私のVPSホスティングプロバイダーは、新しくインストールしたボックスで、まず送信メールポートを有効にする必要があることがわかりました。これは知っていましたが、一晩寝てから思い出しました :wink:

ハッピーホスティング! :smiley: