diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-04-12 22:54:29 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-04-12 23:03:32 +0200 |
commit | e6c2382a19bd6dbf7bb8e9721251a96f0584ee17 (patch) | |
tree | 9732a2f749df28b97addc1687cef2f5cedd2b86d /lib | |
parent | 43b2f3c2dc76caadb1a32d6341fa24a39083d8fb (diff) | |
download | nextcloud-server-e6c2382a19bd6dbf7bb8e9721251a96f0584ee17.tar.gz nextcloud-server-e6c2382a19bd6dbf7bb8e9721251a96f0584ee17.zip |
Add "Reply-To" support for sharing notifications
Very hacky backport of https://github.com/owncloud/core/pull/15541 - I changed the code path to use OC_Mail instead the OCP pendant since I didn't want to modify the public API. (OCP\Util::sendMail() is anyways deprecated with 8.1)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/mail.php | 7 | ||||
-rw-r--r-- | lib/private/share/mailnotifications.php | 19 |
2 files changed, 14 insertions, 12 deletions
diff --git a/lib/private/mail.php b/lib/private/mail.php index 6043532420b..727b0df06f8 100644 --- a/lib/private/mail.php +++ b/lib/private/mail.php @@ -28,10 +28,11 @@ class OC_Mail { * @param string $ccaddress * @param string $ccname * @param string $bcc + * @param string $replyTo * @throws Exception */ public static function send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, - $html=0, $altbody='', $ccaddress='', $ccname='', $bcc='') { + $html=0, $altbody='', $ccaddress='', $ccname='', $bcc='', $replyTo='') { $SMTPMODE = OC_Config::getValue( 'mail_smtpmode', 'sendmail' ); $SMTPHOST = OC_Config::getValue( 'mail_smtphost', '127.0.0.1' ); @@ -78,7 +79,9 @@ class OC_Mail { if($ccaddress<>'') $mailo->AddCC($ccaddress, $ccname); if($bcc<>'') $mailo->AddBCC($bcc); - $mailo->AddReplyTo($fromaddress, $fromname); + if($replyTo !== '') { + $mailo->addReplyTo($replyTo); + } $mailo->WordWrap = 50; if($html==1) $mailo->IsHTML(true); else $mailo->IsHTML(false); diff --git a/lib/private/share/mailnotifications.php b/lib/private/share/mailnotifications.php index 2f704fb2b3c..6b064733bc6 100644 --- a/lib/private/share/mailnotifications.php +++ b/lib/private/share/mailnotifications.php @@ -37,6 +37,9 @@ class MailNotifications { */ private $from; + /** @var string Mail address used for reply to */ + private $replyTo; + /** * @var string */ @@ -49,20 +52,16 @@ class MailNotifications { /** * - * @param string $sender user id (if nothing is set we use the currently logged-in user) + * @param string $sender user id */ - public function __construct($sender = null) { + public function __construct($sender) { $this->l = \OC::$server->getL10N('lib'); $this->senderId = $sender; $this->from = \OCP\Util::getDefaultEmailAddress('sharing-noreply'); - if ($this->senderId) { - $this->from = \OCP\Config::getUserValue($this->senderId, 'settings', 'email', $this->from); - $this->senderDisplayName = \OCP\User::getDisplayName($this->senderId); - } else { - $this->senderDisplayName = \OCP\User::getDisplayName(); - } + $this->replyTo = \OCP\Config::getUserValue($this->senderId, 'settings', 'email', $this->from); + $this->senderDisplayName = \OCP\User::getDisplayName($this->senderId); } /** @@ -118,7 +117,7 @@ class MailNotifications { // send it out now try { - \OCP\Util::sendMail($to, $recipientDisplayName, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail); + \OC_MAIL::send($to, $recipientDisplayName, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail, '', '', '', $this->replyTo); } catch (\Exception $e) { \OCP\Util::writeLog('sharing', "Can't send mail to inform the user about an internal share: " . $e->getMessage() , \OCP\Util::ERROR); $noMail[] = $recipientDisplayName; @@ -145,7 +144,7 @@ class MailNotifications { $failed = array(); foreach ($rs as $r) { try { - \OCP\Util::sendMail($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail); + \OC_MAIL::send($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail, '', '', '', $this->replyTo); } catch (\Exception $e) { \OCP\Util::writeLog('sharing', "Can't send mail with public link to $r: " . $e->getMessage(), \OCP\Util::ERROR); $failed[] = $r; |