Я заметил, что множество сайтов жалуются на отсутствие ключа API Mailgun, но (по крайней мере, большинство из) этих сайтов получают ответы через контейнер mail-receiver, который обрабатывает такие отскоки, поэтому ключ API (и соответствующий вебхук в Mailgun) не должны быть обязательными. Похоже, что логика в спецификациях (и, следовательно, в коде) перевернута:
Показывает следующее:
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
выдает ошибку, если включены ответы, но в этом случае вебхук нам не нужен, и
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
Здесь мы не обрабатываем отскоки с помощью почтового получателя и остаемся спокойными.
Я запутался или это наоборот?
Ну, возможно, я действительно запутался. Кажется, что почтовый получатель не сообщает Discourse об отскоках. На загруженном сайте нет недавних сообщений об отскоках.
Но:
И:
Таким образом, эта документация предполагает, что если у вас есть рабочий почтовый получатель, он должен это обрабатывать. А код, который я когда-то написал в некоторых своих внутренних инструментах для настройки этих вебхуков, гласил: «# вебхуки не нужны, когда у нас есть почтовый получатель»

