mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 01:02:42 +01:00
Actually (???) fix mail multiplexing. I am awful at programming.
This commit is contained in:
parent
1db0dadbcf
commit
283fee7c0a
1 changed files with 7 additions and 14 deletions
|
@ -108,18 +108,6 @@ abstract class PhabricatorMailReplyHandler {
|
|||
$recipients = mpull($to_handles, null, 'getPHID') +
|
||||
mpull($cc_handles, null, 'getPHID');
|
||||
|
||||
// This grouping is just so we can use the public reply-to for any
|
||||
// recipients without a private reply-to, e.g. mailing lists.
|
||||
$groups = array();
|
||||
if ($this->supportsPrivateReplies) {
|
||||
foreach ($recipients as $recipient) {
|
||||
$private = $this->getPrivateReplyHandlerEmailAddress($recipient);
|
||||
$groups[$private][] = $recipient;
|
||||
}
|
||||
} else {
|
||||
$groups[''] = $recipients;
|
||||
}
|
||||
|
||||
// When multiplexing mail, explicitly include To/Cc information in the
|
||||
// message body and headers.
|
||||
$add_headers = array();
|
||||
|
@ -135,15 +123,20 @@ abstract class PhabricatorMailReplyHandler {
|
|||
$add_headers['X-Phabricator-Cc'] = $this->formatPHIDList($cc_handles);
|
||||
}
|
||||
|
||||
foreach ($groups as $reply_to => $group) {
|
||||
foreach ($recipients as $recipient) {
|
||||
$mail = clone $mail_template;
|
||||
$mail->addTos(mpull($group, 'getPHID'));
|
||||
$mail->addTos(array($recipient->getPHID()));
|
||||
|
||||
$mail->setBody($body);
|
||||
foreach ($add_headers as $header => $value) {
|
||||
$mail->addHeader($header, $value);
|
||||
}
|
||||
|
||||
$reply_to = null;
|
||||
if (!$reply_to && $this->supportsPrivateReplies()) {
|
||||
$reply_to = $this->getPrivateReplyHandlerEmailAddress($recipient);
|
||||
}
|
||||
|
||||
if (!$reply_to && $this->supportsPublicReplies()) {
|
||||
$reply_to = $this->getPublicReplyHandlerEmailAddress();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue