summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2018-11-23 16:53:32 +0100
committerChristoph Wurst <christoph@winzerhof-wurst.at>2019-01-30 15:25:07 +0100
commita94358062daaad3aba8289fedf17e6277e47fb3d (patch)
tree82784c962b0daa92bcf7e65a4ca76ce99485a37d /lib
parent29a56616140ac2c6c48abf2d32579d89ca014903 (diff)
downloadnextcloud-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.php15
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;
}
/**