diff --git a/src/applications/metamta/replyhandler/base/PhabricatorMailReplyHandler.php b/src/applications/metamta/replyhandler/base/PhabricatorMailReplyHandler.php index c3d961a6ae..689b37afd8 100644 --- a/src/applications/metamta/replyhandler/base/PhabricatorMailReplyHandler.php +++ b/src/applications/metamta/replyhandler/base/PhabricatorMailReplyHandler.php @@ -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(); }