diff options
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 6b7eec6e080..1a2025de0b2 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' ); @@ -79,7 +80,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 = 78; $mailo->IsHTML($html == 1); diff --git a/lib/private/share/mailnotifications.php b/lib/private/share/mailnotifications.php index 342d3d5057a..2e3f71f5990 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; |