多くのサイトで Mailgun API キーが定義されていないという苦情がありますが、(少なくともほとんどの)サイトでは mail-receiver コンテナ経由で返信を受信しており、バウンスを処理するため、API キー(および Mailgun の対応する Webhook)は必須ではありません。仕様(したがってコード)のロジックが逆になっているようです。
以下のように表示されます。
context "when using Mailgun without an API key" do
let(:replies_enabled) { true }
let(:mailgun_address) { "smtp.mailgun.org" }
let(:api_key) { nil }
it do
expect(check).to have_a_problem.with_priority("low").with_message(
"The server is configured to send emails via Mailgun but you haven't provided an API key used to verify the webhook messages.",
)
end
返信が有効になっていると文句を言いますが、その場合、Webhook は必要ありません。
そして、
context "when replies are disabled" do
let(:replies_enabled) { false }
let(:mailgun_address) { anything }
let(:api_key) { anything }
it { expect(check).to be_chill_about_it }
end
ここでは mail receiver でバウンスを処理しておらず、問題ないとしています。
私が混乱しているのでしょうか、それともこれは逆なのでしょうか?
まあ、私が混乱しているのかもしれません。 mail receiver が Discourse にバウンスについて通知していないように思えます。トラフィックの多いサイトには、最近バウンスしたメッセージがありません。
しかし:
そして:
したがって、このドキュメントは、mail receiver が正常に機能していれば、それを処理するはずであることを示唆しています。そして、私が過去にこれらの Webhook を設定した内部ツールで書いたコードは、「# mail receiver がある場合は Webhook は不要」と言っています。