Page MenuHomePhabricator

Don't bounce mail messages if any recipient was reserved

Authored by epriestley on Jan 17 2019, 2:47 PM.



Ref T13222. If we receive a message and nothing processes it, we normally try to send the user an error message like "hey, nothing handled this, maybe you got the address wrong".

Just skip the "send them an error message" part if any recipient was reserved, so if you "Reply All" to a message that is "From: noreply@phabricator" you don't get a relatively unhelpful error.

This also makes sure that the "void" address doesn't generate bounces if the "From" is a valid user email address (e.g., with metamta.can-send-as-user). That is:

  • Phabricator needs to send a mail with only "CC" users.
  • Phabricator puts the "void" address in "To" as a placeholder.
  • The "void" address happens to route back to Phabricator.

We don't want that mail to bounce to anywhere. Normally, it won't:

  • From is usually "noreply@phabricator", which isn't a user, so we won't send anything back: we only send mail to verified user email addresses.
  • The message will have "X-Phabricator-Sent-This-Message: true" so we won't process it at all.

...but this is another layer of certainty.

Test Plan

Used bin/mail receive-test to receive mail to an invalid, unreserved address (bounce/error email) and an invalid, reserved address (no bounce/error email).

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

epriestley edited the summary of this revision. (Show Details)
  • "Them email" may not be entirely grammatical.
epriestley edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Jan 17 2019, 9:39 PM
This revision was automatically updated to reflect the committed changes.