Mailgun API-Schlüssel-Prüfung rückwärts (kein API-Schlüssel benötigt, wenn Bounces vom Mail-Empfänger behandelt werden)

Ich habe festgestellt, dass sich eine Reihe von Websites darüber beschweren, dass kein Mailgun API-Schlüssel definiert ist, aber (zumindest die meisten) dieser Websites erhalten Antworten über den Mail-Empfänger-Container, und dieser behandelt diese Bounces, sodass der API-Schlüssel (und der entsprechende Webhook bei Mailgun) nicht erforderlich sind. Es scheint, dass die Logik in den Specs (und damit im Code) umgekehrt ist:

Der missing_mailgun_api_key_spec

zeigt dies:

    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

beschwert sich, wenn wir Antworten aktiviert haben, aber in diesem Fall benötigen wir den Webhook nicht, und

    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

Hier verarbeiten wir keine Bounces mit dem Mail-Empfänger und sind entspannt damit.

Bin ich verwirrt oder ist das umgekehrt?

Nun, vielleicht bin ich verwirrt. Es scheint, dass der Mail-Empfänger Discourse nicht über Bounces informiert. Eine viel besuchte Website hat keine kürzlichen Bounced-Nachrichten.

Aber:

Und:

Diese Dokumentation legt nahe, dass, wenn Sie einen funktionierenden Mail-Empfänger haben, dieser dies handhaben sollte. Und Code, den ich einst in einigen meiner internen Tools geschrieben habe, die diese Webhooks eingerichtet haben, besagt: „# keine Webhooks erforderlich, wenn wir einen Mail-Empfänger haben“.

3 „Gefällt mir“