@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Enabling Maniphest to send email to External Users.

Summary: Maniphest sends email to External users.

Test Plan:
{F42649}
It seems that maniphest tries to send an email, my install is not configured to deliver email.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T1205

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

authored by

Afaque Hussain and committed by
epriestley
6cd4a564 e7fde9a7

+23
+23
src/applications/metamta/storage/PhabricatorMetaMTAMail.php
··· 687 687 688 688 private function loadEmailAndNameDataFromPHIDs(array &$phids) { 689 689 $users = array(); 690 + $xusrs = array(); 690 691 $mlsts = array(); 691 692 // first iteration - group by types to do data fetches 692 693 foreach ($phids as $phid => $type) { ··· 694 695 case PhabricatorPHIDConstants::PHID_TYPE_USER: 695 696 $users[] = $phid; 696 697 break; 698 + case PhabricatorPHIDConstants::PHID_TYPE_XUSR: 699 + $xusrs[] = $phid; 700 + break; 697 701 case PhabricatorPHIDConstants::PHID_TYPE_MLST: 698 702 $mlsts[] = $phid; 699 703 break; 700 704 } 701 705 } 706 + 702 707 $user_emails = array(); 703 708 if ($users) { 704 709 $user_emails = id(new PhabricatorUserEmail())->loadAllWhere( ··· 708 713 $user_emails = mpull($user_emails, null, 'getUserPHID'); 709 714 $users = mpull($users, null, 'getPHID'); 710 715 } 716 + 717 + if ($xusrs) { 718 + $xusrs = id(new PhabricatorExternalAccount())->loadAllWhere( 719 + 'phid IN (%Ls)', $xusrs); 720 + $xusrs = mpull($xusrs, null, 'getPHID'); 721 + } 722 + 711 723 if ($mlsts) { 712 724 $mlsts = id(new PhabricatorMetaMTAMailingList())->loadAllWhere( 713 725 'phid IN (%Ls)', $mlsts); ··· 731 743 $email = isset($user_emails[$phid]) ? 732 744 $user_emails[$phid]->getAddress() : 733 745 $default; 746 + break; 747 + case PhabricatorPHIDConstants::PHID_TYPE_XUSR: 748 + $xusr = $xusrs[$phid]; 749 + if ($xusr) { 750 + $name = $xusr->getDisplayName(); 751 + $email = $xusr->getAccountID(); 752 + $accountType = $xusr->getAccountType(); 753 + if ($accountType == 'email') { 754 + $is_mailable = true; 755 + } 756 + } 734 757 break; 735 758 case PhabricatorPHIDConstants::PHID_TYPE_MLST: 736 759 $mlst = $mlsts[$phid];