J’ai remarqué que de nombreux sites se plaignent qu’aucune clé API Mailgun n’est définie, mais (du moins la plupart) ces sites reçoivent des réponses via le conteneur de réception d’e-mails et il gère ces rebonds, donc la clé API (et le webhook correspondant sur Mailgun) n’ont pas besoin d’être requis. Il semble que la logique des spécifications (et donc du code) soit inversée :
Le missing_mailgun_api_key_spec
Montre ceci :
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
se plaint si nous avons activé les réponses, mais dans ce cas, nous n’avons pas besoin du webhook et
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
Ici, nous ne traitons pas les rebonds avec le récepteur d’e-mails et nous sommes calmes à ce sujet.
Suis-je confus ou est-ce inversé ?
Eh bien, peut-être que je suis confus. Il semble bien que le récepteur d’e-mails ne signale pas les rebonds à Discourse. Un site très fréquenté n’a aucun message de rebond récent.
Mais :
Et :
Cette documentation suggère donc que si vous avez un récepteur d’e-mails fonctionnel, il devrait s’en charger. Et le code que j’ai écrit dans certains de mes outils internes qui mettaient en place ces webhooks dit “# pas besoin de webhooks quand on a un récepteur d’e-mails”.