Page MenuHomePhabricator

Improve error and header behaviors for Mailgun received mail webhook
ClosedPublic

Authored by epriestley on Apr 2 2016, 5:36 PM.
Tags
None
Referenced Files
F19152416: D15575.diff
Thu, Dec 11, 2:42 AM
F18936152: D15575.diff
Nov 10 2025, 7:50 PM
F18850178: D15575.id.diff
Oct 30 2025, 2:59 PM
F18844076: D15575.diff
Oct 29 2025, 2:59 AM
F18840026: D15575.id37546.diff
Oct 27 2025, 8:39 PM
F18700737: D15575.diff
Sep 27 2025, 3:46 PM
F18659203: D15575.id37548.diff
Sep 23 2025, 10:24 AM
F18659045: D15575.diff
Sep 23 2025, 9:34 AM
Subscribers
None

Details

Summary

Ref T10709. Two issues:

  • If a user sends an invalid !command, we can throw, which means we don't return HTTP 200. This makes Mailgun re-send the mail later.
  • We don't parse headers of the modern API correctly, so the "Message-ID" failsafe doesn't work. Parse them correctly. I believe Mailgun's API changed at some point.
Test Plan

This is difficult to test exhaustively in isolation. I used Mailgun's web tools to verify the format of the hook request, and faked some requests locally.

I'll keep an eye on this as it goes to production and make sure the fix is correct there.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Improve error and header behaviors for Mailgun received mail webhook.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Apr 2 2016, 5:46 PM
This revision was automatically updated to reflect the committed changes.