アクティベーションメールが届きません

こんにちは。

DigitalOcean Discourse Dockerインスタンスをセットアップしました。セットアップは非常にスムーズに進みましたが、確認メールが届かないため、アカウント作成が機能しないようです。

私の設定は以下の通りです。

  DISCOURSE_SMTP_ADDRESS: smtp.strato.de
  DISCOURSE_SMTP_PORT: 465
  DISCOURSE_SMTP_USER_NAME: no-reply@celesto.graphics
  DISCOURSE_SMTP_PASSWORD: "xxx"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  DISCOURSE_SMTP_DOMAIN: celesto.graphics.com
  DISCOURSE_NOTIFICATION_EMAIL: no-reply@celesto.graphics

以下のコマンドで接続をテストしてみました。

telnet smtp.strato.de 465

Trying 81.169.145.133...
Connected to smtp.strato.de.
Escape character is '^]'.

どのように進めればよいかわかりません。ご協力いただけると幸いです。

「いいね!」 1

ポート 465 については、Troubleshooting email on a new Discourse install で触れられていますが、参考になりますでしょうか?

「いいね!」 1

問題は、587では機能しなかったので、465を試しましたが、何も変わりませんでした。

「いいね!」 1

おそらく多くの人にとっては非常に明白な質問ですが、単純なことほど見過ごされがちです。
Digital Ocean(DO)内にドメイン名(talk.example.com)を追加し、必要なポートを開くようにファイアウォールを調整しましたか?また、ファイアウォール内で「discourse」をインストールしたドロップレットを追加する必要があることを忘れないでください。

「いいね!」 3

こんにちは、返信ありがとうございます。

それで、ドロップレットを作成し、ドメインプロバイダーで新しいAレコードを作成して、ドロップレットのIPを追加しました。

このメール設定には、ドロップレットにドメインを追加する必要がありますか?もしそうなら、例えばどこでドメインを追加できるか、もう少し教えていただけますか?また、ファイアウォールに何を追加する必要がありますか?

このようなことにはあまり慣れていません。
とにかく、ありがとうございます!

「いいね!」 1

心配しないでください。専門家ではありませんが、可能な限り最善の方法でご案内します。私のメールは今のところ問題なく動作しています。個人的には「sendiblue」を使用しています。なぜなら、他のサービスが設けているフィルターを通らずにアカウントを使用できた唯一のサービスだったからです。
要するに、私が言及したセクションは「ネットワーキング」にあります。

  1. ネットワーキングをクリックします
  2. ドメイン「example.com」(「talk.example.com」ではありません)を入力します
  3. プロジェクトを選択します

    個人的には、「DO」からドメイン名を管理する必要がありました。Sendinblueは、Googleがユーザー登録で行うように、ドメイン所有権を確認するためにいくつかのDNS値を追加するように求めてきたからです。
「いいね!」 3

返信ありがとうございます!

はい、そのようにしました。

もう一つ。管理CPからテストメールを送信しようとしたのですが、このエラーが出ました。

テストのためにGoogle Mailを宛先に指定しました。メールは送信されなかったようです。これは奇妙です。
メールを送信できないということは、アクティベーションメールも受信できない理由を説明していることになります。

「いいね!」 2

ポート587をファイアウォールで開きましたか?
ネットワーク内も同様にしてください。

Networking/Firewalls/Create Firewall

1 Name (例: Firewall of my forum)
2 New rule, select “Custom”.

3 Custom
4 TCP
5 587
6 Custom
7 UDP
9 587

9 Select the dropplet where you want aply the rules.

そして最後に「CREATE FIREWALL」をクリックします。

「いいね!」 2

どのソリューションが機能しているのかはわかりませんが、設定が間違っていたことに気づきました。

 DISCOURSE_SMTP_DOMAIN: celesto.graphics.com

その設定では、ドメインに2つのTLDが含まれていました。.comは不要でした。

いずれにしても、メールは正常に受信できるようになりました。

「いいね!」 2

メール送信のためにアウトバウンド接続を行うのに、ポート 587 をインバウンドで開く必要はありません。

Discourse はデフォルトではメールサーバーを運用しないため、そのルールを作成するとホストでポート 587 が公開されます。

「いいね!」 2

おっしゃる通り、私は専門家ではありません。明確にしていただき、ありがとうございます。

「いいね!」 1

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