私はNetCore Cloudをメールプロバイダーとして使用していますが、メールの受信や返信を有効にすることができません。NeCore Cloud Emailを使用してこれを達成するにはどうすればよいですか?
これは @Abdelrahman_MoHamed さんと共同で作業しています。私たちの中心的な問題/ブロッカーは、netcore で受信メール(インバウンド)を discourse に送信して処理するように設定しようとしていることだと考えています。
このデータ(受信した解析済みメール)を discourse に取り込んで処理する方法がわかりません。netcore で探している設定画面はどこにありますか?
https://forum.mamapedia.com/admin/email/handle_mail のような URL を入力したいと考えています。
しかし、Webhook の設定を見ると POST リクエストのように見えるため、混乱しています。
また、目標を達成するために Webhook を使用すべきだと仮定しています。
Hi Discourse Community,
Discourse インスタンスのメール返信機能を設定しており、いくつか明確化とガイダンスが必要です。
現在のセットアップ
-
メールプロバイダーとして Netcore を使用しています。
-
受信メールについては、reply+*@mydiscourse.com の形式に一致するすべてのメールをキャプチャするように Netcore でルールを設定しました。
-
Netcore は、これらのメールを次のいずれかに転送できます。
- 別のメールアドレス
- Webhook
試したこと
これらのメールを次の Discourse エンドポイントに転送しようとしました。
https://mydiscourse.com/admin/email/handle_mail
残念ながら、これは 404 Not Found ステータスになりました。
質問
-
この構成では、受信メールは誰が処理しますか? Discourse が直接処理する必要がありますか、それともメールプロバイダーが Discourse が処理できるように特定の形式で転送する必要がありますか?
-
Direct Email Receiving using mail-receiver というオプションに気づきました。私のセットアップには、こちらの方が良いアプローチでしょうか?
受信メールが正しく処理され、メール返信機能が有効になるようにしたいと考えています。Netcore で正しく設定する方法について、ガイダンスをいただくか、関連ドキュメントをご案内いただけますでしょうか?
ご支援ありがとうございます!
一点ですが、netcoreは以前「pepipost」として知られていたものです。もしそれが誰かの記憶に引っかかるようであれば、正しい方向を示すのに役立つかもしれません。
よろしくお願いします!
最も簡単な方法は、Mail-Receiver を使用してセルフホストサイトの直接配信受信メールを設定する です。
使用しているエンドポイントはバウンス処理用だと思いますが、間違っている可能性もあります。
返信ありがとうございます。このセットアップを使用すると、メールプロバイダーで使用してデータを発行できるエンドポイントができますか?
@pfaffman 非常に参考になりました、ありがとうございます。netcore(別名pepipost)はさておき、もし私たちが以下を望むなら、あなたは次のように言っているということですか?
- メール送信
- バウンス管理
- 返信処理
mailgun、sendgridなどを使用するかどうかに関わらず、Mail-Receiver を使用してセルフホストサイトの直接配信受信メールを設定する を設定する必要がある、ということで合っていますか?あなたは「最も簡単な」方法だと言っていますが、他に方法があるのか気になります。
重ねて、ご回答に感謝いたします。この問題で数日間ブロックされていました…。
また、コミュニティ全体に投稿しますが、セルフホスト環境での完全なメール処理には、セルフホストサイトでMail-Receiverを使用して直接配信される受信メールを構成するが必要であることを確認したいと考えています。
もし他にこれが実際に必要であることを確認できる方がいれば、非常に助かります。
Discourse がポーリングする pop3 メールボックスを設定することも可能です。メール受信者はより簡単で、グループまたはカテゴリのメールボックスに任意のメールアドレスを使用できます。
@pfaffman さん、ありがとうございます。大変参考になりました。
メール受信機能の導入を進めており、マルチサイト環境で利用しています。
作業が順調に進めば、またこちらに戻ってきます。
@pfaffman 様、ご協力ありがとうございます。
フォーラムのDiscourseメール受信コンテナを設定しようとしていますが、テスト時にメール拒否に関する問題が発生しました。問題の詳細は以下の通りです。
-
フォーラムドメイン: test.mamapedia.com (Cloudflare経由でプロキシされています)
-
メール受信ドメイン: reply.mamapedia.com
-
エラー詳細:
Telnetを使用してメール受信コンテナをテストしようとすると、次のエラーが発生します。telnet reply.mamapedia.com 25 Trying 34.122.3.90... Connected to reply.mamapedia.com. Escape character is '^]'. 220 ESMTP server MAIL FROM: <abdohamoda636@gmail.com> 250 2.1.0 Ok RCPT TO: <test@reply.mamapedia.com> 554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again.メール受信コンテナのログ: メール受信コンテナのログには、次の拒否メッセージが表示されます。
Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: NOQUEUE: reject: RCPT from 90.3.122.34.bc.googleusercontent.com[34.122.3.90]: 554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again?; from=<abdohamoda636@gmail.com> to=<test@reply.mamapedia.com> proto=SMTP Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "test@reply.mamapedia.com" from client "90.3.122.34.bc.googleusercontent.com[34.122.3.90]"観察事項:
- ログのエラーメッセージは、受信者アドレス「test@reply.mamapedia.com」が拒否されていることを示しています。
- この問題は、postfixの設定、またはメールの受信を妨げている何らかの制限に関連しているようです。
試したこと:
reply.mamapedia.comのDNSレコード (MX) が正しく設定されていることを確認しました。- メール受信コンテナの設定を再確認し、
reply.mamapedia.comドメインが正しく設定されていることを確認しました。
メール受信コンテナの設定ファイル
env: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LANGUAGE: en_US.UTF-8 ## フォーラムに送信されるメールの送信先。一般的に、 ## ここでフォーラム自体のドメインを使用しても問題ありません。 MAIL_DOMAIN: reply.mamapedia.com # TLSをサポートするためにコメントを解除してください(および以下のボリュームも!) POSTCONF_smtpd_tls_key_file: /letsencrypt/reply.mamapedia.com.key POSTCONF_smtpd_tls_cert_file: /letsencrypt/fullchain.cer POSTCONF_smtpd_tls_security_level: may ## このDiscourseインスタンスの基本URL。 ## これは、DiscourseサイトのURLになります。例えば、 ## https://test.mamapedia.com。サブフォルダ設定を実行している場合は、 ## それを考慮してください(例: https://example.com/forum)。 DISCOURSE_BASE_URL: 'https://test.mamapedia.com' ## DiscourseフォーラムのマスターAPIキー。管理パネルの「API」タブから取得できます。 DISCOURSE_API_KEY: '#############' ## 受信メールの処理に使用するユーザー名。「system」ユーザーの名前を変更していない限り、 ## そのままにしておく必要があります。 DISCOURSE_API_USERNAME: system volumes: - volume: host: /var/discourse/shared/mail-receiver/postfix-spool guest: /var/spool/postfix # TLSをサポートするためにコメントを解除 - volume: host: /var/discourse/shared/standalone/letsencrypt guest: /letsencryptCloudflare DNSレコード



どのような助言や洞察でもいただけると幸いです。
わかりませんが、そのようなエラーは常にDNSの問題です。そして、Cloudflareが関与している場合も常にそうです。前回、かなり昔ですが、そのエスケープエラーに遭遇したのは、サーバーの設定が悪かったためのタイムアウトでした。
telnetでメッセージを送信しようとするとこのメッセージが表示されますが、通常のメールプロバイダーで通知に返信すると機能します。
返信機能(reply-by-email)を有効にして、実際に試してみてはどうでしょうか。
@Canapin さん、ありがとうございます。おそらくあなたが正しいのでしょう。メールに返信してみて、うまくいくことを願います。
アップデートを投稿します。
参考までに、動作している mail-receiver.yml ファイルの内容を以下に示します。
Cloudflare SSL を使用しているため、Cloudflare が TLS を提供していることから、すべての TLS 行はコメントアウトしたままにしました。
## これは受信メールコンテナのテンプレートです
##
## このファイルを変更した後は、必ず再構築してください
## /var/discourse/launcher rebuild mail-receiver
##
## 編集には*十分に注意してください*!
## YAML ファイルは、空白や配置の誤りに非常に敏感です!
## 必要に応じて、このファイルを検証するために http://www.yamllint.com/ を参照してください
base_image: discourse/mail-receiver:release
update_pups: false
expose:
- "25:25" # SMTP
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
## フォーラムに送信されるメールの宛先。一般的に、ここでフォーラム自体と同じドメインを使用しても問題ありません。
MAIL_DOMAIN: mydiscourseinstance.com
# TLS をサポートするためにコメントを解除してください(および以下のボリュームも!)
# POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.example.com/discourse.example.com.key
# POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.example.com/fullchain.cer
# POSTCONF_smtpd_tls_security_level: may
## この Discourse インスタンスのベース URL。
## これは Discourse サイトの URL と同じになります。たとえば、
## https://discourse.example.com。サブフォルダ設定を実行している場合は、
## それを考慮してください(例:https://example.com/forum)。
DISCOURSE_BASE_URL: 'https://mydiscourseinstance.com'
## フォーラムのマスター API キー。管理パネルの「API」タブから取得できます。
DISCOURSE_API_KEY: xxxxxxxxxxxxxxxx
## 受信メールの処理に使用するユーザー名。`system` ユーザーの名前を変更していない限り、
## そのままにしておく必要があります。
DISCOURSE_API_USERNAME: system
volumes:
- volume:
host: /var/discourse/shared/mail-receiver/postfix-spool
guest: /var/spool/postfix
# TLS をサポートするためにコメントを解除してください
# - volume:
# host: /var/discourse/shared/standalone/letsencrypt
# guest: /letsencrypt
貴重なご提案とサポートをいただき、ありがとうございました!@pfaffman、@Jagster、@Canapin、@denvergeeks — 皆さんのおかげです。現在、問題が解決したことをご報告します!古い設定をすべて削除し、Dockerを最新バージョンにアップグレードし、必要なMXレコードが正しく追加されていることを確認しました。Telnetはまだ機能しませんが、返信を受信できるようになりました。この件でご指導いただき、重ねて感謝いたします!
最終的に機能して嬉しいです。Postfix の設定の何が telnet メールを拒否しているのか(多くの理由で拒否される可能性がありますが、提示された理由は的外れなようです)興味があります。
はい。Discourse が受け入れるメールのみを受け付けます。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.