diff options
author | Bjoern Schiessle <bjoern@schiessle.org> | 2018-11-23 16:53:32 +0100 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-01-30 15:25:07 +0100 |
commit | a94358062daaad3aba8289fedf17e6277e47fb3d (patch) | |
tree | 82784c962b0daa92bcf7e65a4ca76ce99485a37d /lib | |
parent | 29a56616140ac2c6c48abf2d32579d89ca014903 (diff) | |
download | nextcloud-server-a94358062daaad3aba8289fedf17e6277e47fb3d.tar.gz nextcloud-server-a94358062daaad3aba8289fedf17e6277e47fb3d.zip |
handle mail send error gracefully
log the error in case a notification mail of a new share couldn't
be send to the recipient and finish the share operation successfully
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Share20/Manager.php | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index e76269f9d86..ef926ce9883 100644 --- a/lib/private/Share20/Manager.php +++ b/lib/private/Share20/Manager.php @@ -714,7 +714,7 @@ class Manager implements IManager { * @param string $initiator user ID of share sender * @param string $shareWith email address of share receiver * @param \DateTime|null $expiration - * @throws \Exception If mail couldn't be sent + * @return bool */ protected function sendMailNotification(IL10N $l, $filename, @@ -773,7 +773,18 @@ class Manager implements IManager { } $message->useTemplate($emailTemplate); - $this->mailer->send($message); + try { + $failedRecipients = $this->mailer->send($message); + if(!empty($failedRecipients)) { + $this->logger->error('Share notification mail could not be send to: ' . implode(', ', $failedRecipients)); + return false; + } + } catch (\Exception $e) { + $this->logger->error('Share notification mail could not be send: ' . $e->getMessage()); + return false; + } + + return true; } /** |