Page MenuHomePhabricator

Allow "SMTP" and "Sendmail" mailers to have "Message-ID" behavior configured in "cluster.mailers"

Authored by epriestley on Mar 14 2019, 1:53 PM.



Fixes T13265. See that task for discussion. Briefly:

  • For mailers that use other mailers (SMTP, Sendmail), optionally let administrators set "message-id": false to improve threading behavior if their local Postfix is ultimately sending through SES or some other mailer which will replace the "Message-ID" header.


  • Postmark is currently marked as supporting "Message-ID", but it does not actually support "Message-ID" on (mail arrives with a non-Phabricator message ID). I suspect this was just an oversight in building or refactoring the adapter; correct it.
  • Remove the "encoding" parameter from "sendmail". It think this was just missed in the cleanup a couple months ago; it is no longer used or documented.
Test Plan

Added and ran unit tests. (These feel like overkill, but this is super hard to test on real code.) See T13265 for evidence that this overall approach improves behavior.

Diff Detail

rP Phabricator
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley created this revision.Mar 14 2019, 1:53 PM
epriestley requested review of this revision.Mar 14 2019, 1:54 PM
epriestley updated this revision to Diff 48423.Mar 14 2019, 2:00 PM
  • Fix "the the" typo.
epriestley updated this revision to Diff 48424.Mar 14 2019, 3:13 PM
  • Add SendGrid SMTP to the blocklist.
  • Simplify negative/default implementations of supportsMessageIDHeader().
amckinley accepted this revision.Mar 15 2019, 11:23 PM
amckinley added inline comments.

Drop the rest of this sentence after "will be respected or not".

This revision is now accepted and ready to land.Mar 15 2019, 11:23 PM
This revision was automatically updated to reflect the committed changes.