1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-14 10:52:41 +01:00
phorge-phorge/src/applications/metamta/storage
epriestley eca7d3feda 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
2014-02-01 14:35:55 -08:00
..
__tests__ Allow MetaMTA adapters to indicate that a mail is permanently undeliverable 2013-08-30 08:21:50 -07:00
PhabricatorMetaMTAAttachment.php Introduce basic bin/mail with a resend workflow 2013-03-30 15:53:49 -07:00
PhabricatorMetaMTADAO.php Delete license headers from files 2012-11-05 11:16:51 -08:00
PhabricatorMetaMTAMail.php Expand aggregate email recipients prior to multiplexing 2014-02-01 14:35:55 -08:00
PhabricatorMetaMTAReceivedMail.php Maniphest - add support for !assign command 2013-10-14 12:29:41 -07:00