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
Unknown Object (File)
Sat, Dec 21, 12:40 PM
Unknown Object (File)
Fri, Dec 20, 8:02 PM
Unknown Object (File)
Sun, Dec 15, 4:56 PM
Unknown Object (File)
Sat, Nov 30, 10:02 AM
Unknown Object (File)
Thu, Nov 28, 6:31 PM
Unknown Object (File)
Thu, Nov 28, 6:31 PM
Unknown Object (File)
Thu, Nov 28, 6:28 PM
Unknown Object (File)
Thu, Nov 28, 6:10 PM
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.