diff --git a/src/applications/config/option/PhabricatorMetaMTAConfigOptions.php b/src/applications/config/option/PhabricatorMetaMTAConfigOptions.php --- a/src/applications/config/option/PhabricatorMetaMTAConfigOptions.php +++ b/src/applications/config/option/PhabricatorMetaMTAConfigOptions.php @@ -100,6 +100,12 @@ EODOC )); + $email_preferences_description = $this->deformat(pht(<<deformat(pht(<<setSummary(pht('Show "To:" and "Cc:" footer hints in email.')) ->setDescription($recipient_hints_description), + $this->newOption('metamta.email-preferences', 'bool', true) + ->setBoolOptions( + array( + pht('Show Email Preferences Link'), + pht('No Email Preferences Link'), + )) + ->setSummary(pht('Show email preferences link in email.')) + ->setDescription($email_preferences_description), $this->newOption('metamta.precedence-bulk', 'bool', false) ->setBoolOptions( array( diff --git a/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php b/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php --- a/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php +++ b/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php @@ -179,6 +179,23 @@ return $this; } + /** + * Add a section with a link to email preferences. + * + * @return this + * @task compose + */ + public function addEmailPreferenceSection() { + if (!PhabricatorEnv::getEnvConfig('metamta.email-preferences')) { + return $this; + } + + $href = PhabricatorEnv::getProductionURI( + '/settings/panel/emailpreferences/'); + $this->addLinkSection(pht('EMAIL PREFERENCES'), $href); + + return $this; + } /** * Add an attachment. diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -1899,6 +1899,8 @@ $body->addReplySection($reply_section); } + $body->addEmailPreferenceSection(); + $template ->setFrom($this->getActingAsPHID()) ->setSubjectPrefix($this->getMailSubjectPrefix()) @@ -2013,7 +2015,6 @@ throw new Exception('Capability not supported.'); } - /** * @task mail */