1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 07:42:40 +01:00
phorge-phorge/src/applications/metamta
epriestley ffcfc04652 Add some delivery diagnostic headers to outbound mail
Summary:
Fixes T13087. Ref T13090. An install ran into a situation where mail was being double-delivered, and it wasn't immediately clear where in the pipeline the issue lay.

This change adds some headers which should rule out (or, at least, render very unlikely) some possible causes if we encounter similar issues in the future.

The `X-Phabricator-Mail-ID` header stores the ID of the `MetaMTAMail` storage object so we can distinguish between two messages sent to two different targets and one message which may have been split or re-sent. It also makes it easier to know what to `bin/mail show-outbound --id <id>` and where to find the message in the web UI for additional information.

The `X-Phabricator-Send-Attempt` is a unique value per attempt. If two mail messages are delivered with the same attempt value, the split is probably downstream from Phabricator. If they have different attempt values, the split is probably in Phabricator.

(In this case, the split was somewhere downstream from us, since sending mail with `/usr/bin/mail` also resulted in duplicates.)

Test Plan: Send some mail, inspected it with `bin/mail show-outbound --id <id>`, saw new headers with sensible/expected values.

Maniphest Tasks: T13090, T13087

Differential Revision: https://secure.phabricator.com/D19124
2018-02-22 12:47:20 -08:00
..
action When we fail to process mail, tell the user about it 2014-04-03 18:43:18 -07:00
adapter Support "encoding", which is required by PHPMailerLite, in SES adapter 2018-02-14 10:57:07 -08:00
application Support Postmark inbound mail via webhook 2018-02-08 06:25:26 -08:00
applicationpanel Separate button CSS classes 2017-06-05 20:14:34 +00:00
command Use PhutilClassMapQuery 2015-07-07 22:51:57 +10:00
constants Add basic support for Herald outbound rules 2015-08-15 10:54:33 -07:00
contentsource Modularize content sources 2016-03-26 11:59:45 -07:00
controller Configure a whitelist of remote addresses for Postmark inbound webhooks 2018-02-08 08:23:14 -08:00
edge MetaMTA - more progress towards a mail application 2015-06-23 11:37:14 -07:00
editor Use ApplicationTransactions in ApplicationEmail 2015-06-11 10:15:49 -07:00
engine Add basic support for mail "stamps" to improve client mail routing 2018-02-06 04:04:13 -08:00
exception Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
garbagecollector Support DestructionEngine in MetaMTAMail 2018-02-02 14:37:33 -08:00
herald Prevent "Call webhooks" Herald action from appearing in UI for adapters which can't fire it 2018-02-11 06:15:29 -08:00
management Add a Postmark mail adapter so it can be configured as an outbound mailer 2018-02-08 06:18:23 -08:00
parser Extend from Phobject 2015-06-15 18:02:27 +10:00
phid Mark PhabricatorPHIDType::getPHIDTypeApplicationClass() as abstract 2015-11-03 06:47:12 +11:00
query Add "Mute/Unmute" for subscribable objects 2018-02-08 11:06:22 -08:00
receiver Fix spelling 2017-10-09 10:48:04 -07:00
replyhandler Only add the Mail "STAMPS" body section if there are stamps 2018-02-08 09:09:28 -08:00
stamp Fix a mail stamp issue with blocking reviewers 2018-02-13 17:56:21 -08:00
storage Add some delivery diagnostic headers to outbound mail 2018-02-22 12:47:20 -08:00
typeahead Make packages mailable and subscribable 2016-05-13 17:18:57 -07:00
view Provide context objects for remarkup mail rendering, fixing Phriction relative URIs in initial email 2018-02-16 09:55:04 -08:00
PhabricatorMetaMTAWorker.php Send permanent dameon failures to the log, even when not running in verbose mode 2017-06-08 15:26:19 -07:00