mail-receiverはarmで動作しますか?

私はARMアーキテクチャにいますが、上記のコマンドでエラーが発生します。このプラグインはarmには適していないのではないでしょうか?

ARM用の他のメール受信プラグインはありますか?

armについては詳しくないので、不適切かどうかはアドバイスできませんが、これはプラグインではないことを指摘しておきます。用語の混乱で、プラグインとしてインストールしようとしているわけではないことを願っています。そうでないと機能しませんからね。:slight_smile:

「いいね!」 1

返信ありがとうございます。ああ、私のミスです。プラグインのように動作するものだと思っていました。もし別の用語がある場合は、教えてください。私のサーバーは、Amazon EC2の新しいチップであるarm64で実行されています。

投稿で説明されているとおりにインストールしましたが、エラーが発生します。arm64では動作しないようです。

「いいね!」 1

明確にするために、標準のインストールを正常に完了し、armで動作するDiscourseインスタンスをお持ちだが、mail-receiverのセットアップが特に失敗しているということでしょうか?

どのようなエラーが表示されていますか?エラーメッセージを提供していただければ、原因を特定するのに役立つかもしれません。機密情報が含まれていないか注意して確認してください。

Discourseに関連付けて特定の用語を付けるのは(私にとっては)少し難しいです。実際には、受信専用のメールサーバーのための完全に別のコンテナアプリケーションであり、そのメールをAPI経由でDiscourseに配信するように設定されています(意図的に)。

「いいね!」 2

はい、それがディスコースをインストールするための標準的なインストール手順です。そして、ディスコースはarm64で正常に動作していると思います。

エラーは以下のとおりです。

Status: Downloaded newer image for discourse/mail-receiver:release
docker.io/discourse/mail-receiver:release

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

exec /usr/bin/gem: exec format error

cd /pups && /pups/bin/pups --stdin

bootstrap failed with exit code 1

** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

一時的にaws WorkMailを使用し始めましたが、ディスコースにシンプルなメール受信および作成機能があれば、公式のメール受信トレイとして使用する価値は間違いなくあります。

簡単なメールサーバーというものはありません。メールサーバーがあるかないかです。そしてメールサーバーは非常に難しく、スパムセンターになりやすく、ほとんどのクラウド/VPSサービスでは禁止されています。

そのため、Discourseは実際のメールサーバーをポーリングし、メールを取得して送信されたものを移動させます。管理者が設定した場合です。

「いいね!」 1

誤解されていると思います。

「メールサーバーの作成」についてではなく、公式メールに返信するために使用できる、シンプルで優れたインターフェイス(UX)でメールを作成(送信)および読み取り(受信メール)できるようにすることについてです。

AWSの「Simple Email Service (SES)」はすでにスパムなどを制御していませんか?ディスコースにUXを提供するだけで、シンプルで優れたUXのメール受信トレイとコンポーザーが利用できます。

ディスコースで単一ページのUXを提供することがそれほど複雑ではないのではないかと思います(すでにサーバーが組み込まれており、ディスコース経由でAWS SESも利用できるため)。

Discourseのベースイメージの場合、launcherツールはarm64で実行されていることを検出し、実験的なものであるという警告とともにarm64イメージに切り替えます。mail-receiverでは同じことが起こらず、Docker Hubのイメージを見ると、arm64バージョンは存在しないようです。

考えられる方法は2つあります。

  1. amd64 EC2インスタンスに切り替える。これにより、実験的ではないDiscourseのインストールが可能になり、mail-receiverを一緒にインストールできます。
  2. 2つ目のEC2インスタンス(amd64の最小オプション、t3a.nanoだと思います)を追加し、そこにmail-receiverをインストールします。

mail-receiverがどこに配置されていても問題ありません。メールで返信するアドレスのDNS MXレコードが確実にそれを指しており、Discourseインスタンスに接続できる必要があります。

もしこれが、info@yourcompany.comsales@yourcompany.comsupport@yourcompany.comなどのアドレスへのメール処理を指しているのであれば、グループメッセージングが求めているものを提供すると思います。

つまり、mail-receiverが機能した後、Discourseで適切なグループを作成し、それらのグループに1つ以上のカスタム受信メールアドレスを割り当てることができます。自分のユーザーのメッセージを見ると、所属しているグループの受信トレイなどが表示されます。

このドメインをスタッフメール(例:prettygirl@yourcompany.com)に使用する場合、特定の(例:info@)アドレスをDiscourseに取り込むために、メールプロバイダーで何かを設定する必要があります。メールプロバイダーの提供内容によっては、メールが元の送信者のアドレスではなく、自分のアドレスから送信されたものとしてDiscourseに表示されるため、正しい送信者アドレスでDiscourseにメールを取り込むのが難しい場合があります。

Microsoft 365 / Exchangeでは、mail-receiverにルーティングするためのコネクタと、特定のメールがそのコネクタを使用するようにするトランスポートルールを組み合わせることで機能します。

メールは難しいです。mail-receiverは、メール通知への返信や、ドメインが既存のメールサービスと重複しないトピック(グループへの新しいメッセージを含む)の作成を簡素化するように設計されています。それ以上のことは、サポートされていない高度な領域、おそらく「そのように使用するために設計されたものではない」領域に入ることになります。

「いいね!」 2

タイトルの質問に対する答えは「いいえ」です。

1は最初から考えていたことです。現時点では推奨され、サポートされているソリューションです。

最近discourse_dockerでARMのサポートを増やす動きがあったようですが、ARMでmail receiverをサポートすることが近いうちに追加されるとは考えにくいです。しかし、これはあくまで推測です。私にはその件について何もコントロールできず、知らないこともたくさんあります。

もう一つの方法は、ARMでmail-receiverをサポートさせる方法を見つけて、PRを提出することです。

もしARMが本当に本当に好きなら、メールボックスなどを備えた本格的なメール受信機能を見つけて、たくさんのメールボックスを管理することもできます。

「いいね!」 2

ARM システムで mail-receiver をサポートすることは間違いなく可能です。amd64 固有のものは何もありません(少なくとも、私が作成した時点ではそうでしたし、その仮定を無効にするような大きな変更があったとは想像できません)。それは単に、docker イメージのメンテナーが、amd64 用に行っているように、arm64 用のイメージのビルドを作成するだけのことです。

非公式ビルドを作成してどこかに置き、pups テンプレートに必要な1行の変更に関する指示とともに提供することもできます。あるいは、実行中の arm64 システムで リポジトリ から自分でローカルビルドすることもできます。

「いいね!」 5

Dockerfileの一部としてGitHubから/usr/local/binにダウンロードされるsocketeeがあります。これはx86_64バイナリなので機能しませんが、明示的に設定されていない限り使用されないようです。

特に上記の機能は、socketeeの実行に失敗するため、arm64では失敗します。arm64用にビルドするだけで機能しないものは他に何も見当たりません。

100%確信はありませんが、ざっと見たところ、buildファイルにこれらの行を追加するだけでそれができるようです。

docker build --platform linux/arm64 --build-arg=http_proxy=$http_proxy -t discourse/mail-receiver:$1 .
docker push discourse/mail-receiver:${1}_arm64

はい、これは CDCK 以外では使用される可能性が極めて低いため、分析から除外しました。これは Postfix ログを集中化するという非常にニッチな目的で含まれていましたが、平均的な mail-receiver コンシューマーがそれを行うことはまずありません。

「いいね!」 2

mail-receiver が ARM で動作せず、IMAP が GMail でしか機能しない場合、これは非常に制限的です。
これは私が :discourse: をシャドウで実行するのを見るのは初めてであり、非常に悲しいです。

もし興味のある方がいらっしゃれば、arm64イメージのビルドを行い、公式イメージビルドがコアチームによって作成されるまでの間、womble/discourse-mail-receiver:arm64 にプッシュしました。制限事項(現時点ではsocketeeなし。必要であれば追加します)、使用方法、問題の報告方法(つまり、「コアチームではなく、私に伝えてください」)の詳細については、私のブランチのREADMEをご覧ください。

「いいね!」 6

socketee を削除する PR を作成しました。Remove socketee support by Firefishy · Pull Request #28 · discourse/mail-receiver · GitHub

また、discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub で使用されている ARM64 ビルドプロセスに mail-receiver を合わせるための変更も喜んで PR します。

「いいね!」 1