Ryan_N
2020 年 11 月 25 日午前 1:46
1
これは初期インストール用のもので、私は DNS の専門家ではありません!現在の状況は以下の通りです:
送信メールのテストは正常に動作しています。MailGun の推奨する「mg」サブドメインを使用しており、ポート 2525 で送信しています。設定画面の該当フィールドには MailGun の Webhook 用 API を入力しています(MailGun には API が 3 つありますが、これで正しいでしょうか?)。また、DNS 設定には mg サブドメイン用の MX レコードも登録済みです。MailGun の検証チェックでも問題ないとの結果が出ており、mail-tester.com でも同様です。
受信メールは「inbound」というサブドメインで設定しています。Gmail アカウントから fake@inbound.[mydomain].org 宛にメールを送信すると、mail-receiver ログに到着が確認できます。一方、Discourse の設定 > メールから同じアドレス宛にテストメールを送信すると、メールが消えてしまうようです。却下ボックスにも何も表示されません。残りの設定には シンプルな直接配信受信メール を使用しています。
セットアップ過程での他の自滅的なミスもあり、一からやり直すことにしました。ドロプレットを削除し、Discourse を再インストールして最初から始めました。ただし、MailGun アカウントは削除しておらず、以前と同じ API Webhook を使用しています。これが問題の原因でしょうか?Discourse 側で生成された新しい API キーは使用しています(もちろん、旧キーはドロプレット削除時に消えてしまいました)。
他に考えられるのは、mail-receiver.yml のエンドポイントです。私の設定は以下のようになっています:DISCOURSE_MAIL_ENDPOINT: 'https://inbound.[mydomain].org/admin/email/handle_mail'
どこでつまずいているかご意見いただけないでしょうか?(追い打ちをかけるように、この前は droplet を削除する直前まですべて正常に動作していました。どうやら私は学習が遅いようです )。よろしくお願いいたします!
これはメールのドメインではなく、フォーラムのドメインである必要があります。フォーラムが inbound.[mydomain].org にあるわけではないことを確認できますか?例えば、Meta がこの方法を使用する場合、URL は以下のようになります:
DISCOURSE_MAIL_ENDPOINT: 'https://meta.discourse.org/admin/email/handle_mail'
また、これは Mailgun とは直接関係ありませんが、Mailgun がドメインに対して MX レコードを追加するよう指示している場合は無視してください。以下を参照してください:
注:Mailgun などの送信メールプロバイダーは、サーバーを指す MX レコードの追加を要求することがあります。これらは削除し、フォーラムの MX レコードがフォーラムのドメイン名のみを指すようにしてください。SPF レコードと DKIM レコードは、メールを送信できるように、引き続き送信メールプロバイダーのサーバーを指す必要があります。
Ryan_N
2020 年 11 月 25 日午前 2:54
4
@tobiaseigen だいぶ近づいてきました!エンドポイントから受信メールのサブドメインを削除して変更を加えました。保存後、メール受信機能を再起動しました(何をしているのか自分でもよくわかりません!)。テストしましたが、うまくいきませんでした。その後、アプリを完全に再構築し、別のメールアドレスを使って2つの新しいアカウントを作成しました。次に、管理アカウントからそのうちの1つにプライベートメッセージを送信しました。期待通りメールが生成されました。その後、メールを通じてそのPMに返信しました。その結果がメールログには以下のように記録されています:
<22>Nov 25 02:38:20 postfix/pipe[89]: AB09913F5CB: to=<replies+da32f82583043bb63fee8be53f9bd3fd@inbound.[mydomain].org>, relay=discourse, delay=0.35, delays=0.19/0/0/0.15, dsn=4.3.0, status=deferred (temporary failure)
確かに近づいていますね!一時的なエラーの原因が何なのかはわかりません。13分経ってもまだDiscourseに配信されていません。不思議です。
なお、「inbound」というサブドメインを作成したのは、admin@[mydomain].org というメールアドレスを別のメールホストで処理したいと考えていたためです。
「いいね!」 2
ドメイン名の使用について、少し理解に苦しんでいます。私のサイトでは、受信メール用の DISCOURSE_MAIL_ENDPOINT と MX レコードは同じドメインで、Discourse サーバーを指しています。これは Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver の投稿元(OP)で説明されている通りです。あなたは異なるドメインを使用しようとしているように見えます。
一般的には、メインのウェブサイトや mydomain.org 上のメールからフォーラムを分離するため、Discourse には forum.mydomain.org のようなサブドメインを使用することをお勧めします。
Ryan_N
2020 年 11 月 25 日午後 7:33
6
tobiaseigen:
ドメイン名の使い方が少し理解できません。
詳しく説明できて嬉しいです 簡潔にするため、私のドメインは thesite.org だと仮定します。メール受信ログで SSL に関する問題が確認されています:
\u003c19\u003eNov 25 19:11:29 receive-mail[160]: Failed to POST the e-mail to https://inbound.thesite.org/admin/email/handle_mail: hostname "inbound.thesite.org" does not match the server certificate (OpenSSL::SSL::SSLError)
ご質問にお答えすると、私の目的は以下の 2 つで、これは非常に一般的なものだと思います:
admin@thesite.org を管理者への連絡先アドレスとする
thesite.org でフォーラムを起動する(サブドメインなし)
現在、私の Namecheap の DNS 設定は以下の通りです(TTL = Auto、Priority = 10):
1 A Record @ (IP アドレス)
2 A Record inbound. (IP アドレス)
3 CNAME email.mg. mailgun.org.
4 CNAME inbound. thesite.org.
5 CNAME www. thesite.org.
6 TXT @ forward-email=(stuff)
7 TXT mg v=spf1 include:mailgun.org ~all
8 TXT smtp._domainkey.mg. k=rsa; p=(stuff)
9 MX @ mx1.forwardemail.net.
10 MX @ mx2.forwardemail.net.
11 MX inbound. thesite.org.
12 MX mg. mxa.mailgun.org.
13 MX mg. mxb.mailgun.org.
私の containers/mail-receiver.yml の設定は以下の通りです:
MAIL_DOMAIN: inbound.thesite.org
DISCOURSE_MAIL_ENDPOINT: 'https://thesite.org/admin/email/handle_mail'
DISCOURSE_API_KEY: (stuff)
DISCOURSE_API_USERNAME: system \u003c-- API キーと同じ
* 注 —\u003e Let’s Encrypt の行はそのままにしました(「#」は削除していません )
その他の設定:
コマンドラインでホスト名を inbound.thesite.org に変更
連絡先メール = admin@thesite.org
通知メール = noreply@mg.thesite.org
返信用メール1 = replies+%{reply_key}@inbound.thesite.org
返信用メール2 = %{reply_key}@inbound.thesite.org
キーを使用して関連投稿を検索 = ON
手動ポーリング = ON
Mailgun API キー = 入力済み… ただし 、これは以前のインストール試行からのものなので問題があるかもしれません
設定 \u003e メール \u003e 設定:アドレス = smtp.mailgun.org
設定 \u003e メール \u003e 設定:ポート = 2525
設定 \u003e メール \u003e 設定:user_name = postmaster@mg.thesite.org
次にどこに進めばよいかご意見をお聞かせください。…そして事前に心から感謝申し上げます!過去の設定に関する苦労を親切にサポートしてくださった @pfaffman にも ping を送ります。あなたの「Straightforward」ガイドも非常に役立ちました。ありがとうございました!
「いいね!」 2
pfaffman
(Jay Pfaffman)
2020 年 11 月 25 日午後 7:45
7
メールコンテナとアプリコンテナの両方を再構築しましたか?簡単な解決策は、メール受信者に証明書を与えようとする部分を削除することだと思います。その証明書はサイトでは正常に機能していますか?
Discourse サイトが inbound.thesite.org にない場合、それが問題の原因です。Discourse サイトとメール受信者の両方のホスト名を同一にするのが意図です。その修正については、Setting up Let’s Encrypt with Multiple Domains を参照してください。
これは mail-receiver のハウツーの想定範囲を超えています。これで解決せず、予算がある場合は、お気軽にご連絡ください。
「いいね!」 4
Ryan_N
2020 年 11 月 25 日午後 8:18
8
つまり、私が前述した2つの目標を両方 達成することは可能でしょうか(これらは驚くほど一般的に思えます)? www.thesite.org や thesite.org と入力した訪問者を subdomain.thesite.org にリダイレクトするようDNS設定で設定する以外に回避策はないのでしょうか?もしこれが事実なら、admin@subdomain.thesite.org のような見栄えの悪いアドレスに公開用メールアドレスを変更するしかないでしょう。
どうしても必要なら、管理者用メールアドレスの変更は受け入れられます。何か見落としているような気がしますが、もしかすると私が完全に的外れなことを言っているのかもしれません(おそらくそうです!)。
pfaffman
(Jay Pfaffman)
2020 年 11 月 25 日午後 8:21
9
メール受信者がDiscourseドメインとは異なるドメインでメールを受信したい場合は、可能だと思います。最も簡単な方法は、メール受信者でLet’s Encryptの証明書を使用しないことです。
「いいね!」 1
Ryan_N
2020 年 11 月 25 日午後 8:55
10
@pfaffman 天才ですね!うまくいきました!!
「複数のドメインで Let’s Encrypt を設定する」の手順に従い、Discourse の再構築、続いて mail-receiver の再構築(おそらくその両方を行う必要はなかったでしょう)を行ったところ、無事に解決しました。やったね!
今夜中に、そのままの「直感的な直接配送の受信メール」に関するオリジナル投稿を Google ドキュメントにコピー&ペーストし、提案する編集案を提出しようと思っています。皆さんに非があるわけではありませんが、コマンドラインの知識がない私のような人にとっては、オリジナル投稿の一部が直感的に理解しにくい部分があります。私が前述した2つの目標は、多くのインストール環境で非常に一般的なものであり、今では最終目標を達成できることが分かりました。
また、セットアップチュートリアル全体に対する他の提案もあります。プロセスを可能な限りシンプルにするための編集案をリストアップしています。
この場でお手伝いいただき、本当にありがとうございます!心から感謝しています!
「いいね!」 1
system
(system)
クローズされました:
2020 年 12 月 25 日午後 8:55
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.