Homec4science

Expand aggregate email recipients prior to multiplexing

Authored by epriestley <git@epriestley.com> on Feb 1 2014, 23:35.

Description

Expand aggregate email recipients prior to multiplexing

Summary:
Ref T4361. Before we figure out which To/CC are addressable, try to expand To/CC. Specifically, the supported expansion right now is project PHIDs expanding to all their members.

Because of the way multiplexing works, we have to do this in two places: explicitly in multiplexMail(), and when sending mail that wasn't multiplexed. This is messy; eventually we can get rid of it (after ApplicationTransactions are everywhere).

This has some rough edges, but should basically give us what we need to make stuff like projects mailable. Particularly, it deals with most issues in D7436:

  • I got around the resolution/multiplexing issue by resolving aggregate mailables separately from mailable actors.
  • We get to keep the Project PHID as a To/CC/Reviewer/Whatever until the last second.
  • Users won't get two emails for being a CC and also a member of a CC'd project.
  • We can degrade to the list stuff this way if we want, by having the project aggregate yield a single list PHID.

Test Plan: Added a comment to a revision with a project reviewer, got mail to all the project's members.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4361

Differential Revision: https://secure.phabricator.com/D8117

Details

Committed
epriestley <git@epriestley.com>Feb 1 2014, 23:35
Pushed
aubortJan 31 2017, 17:16
Parents
rPH4b0ef353e48d: Remove retry/failure mechanisms from MetaMTA
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHeca7d3fedae5: Expand aggregate email recipients prior to multiplexing (authored by epriestley <git@epriestley.com>).Feb 1 2014, 23:35