From ef2d917c59213e9f6e277004c9cb4c22ae66b08e Mon Sep 17 00:00:00 2001 From: msquare Date: Sun, 28 Apr 2019 14:54:32 +0200 Subject: catch mail exceptions, execute the action, inform the user about the error and create a log entry --- includes/helper/email_helper.php | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/includes/helper/email_helper.php b/includes/helper/email_helper.php index b5a4060d..802debaa 100644 --- a/includes/helper/email_helper.php +++ b/includes/helper/email_helper.php @@ -13,26 +13,33 @@ use Engelsystem\Models\User\User; function engelsystem_email_to_user($recipientUser, $title, $message, $notIfItsMe = false) { if ($notIfItsMe && auth()->user()->id == $recipientUser->id) { - return true; + #return true; } /** @var \Engelsystem\Helpers\Translator $translator */ $translator = app()->get('translator'); $locale = $translator->getLocale(); - /** @var EngelsystemMailer $mailer */ - $mailer = app('mailer'); + + try { + /** @var EngelsystemMailer $mailer */ + $mailer = app('mailer'); + + $translator->setLocale($recipientUser->settings->language); + $status = $mailer->sendView( + $recipientUser->contact->email ? $recipientUser->contact->email : $recipientUser->email, + $title, + 'emails/mail', + ['username' => $recipientUser->name, 'message' => $message] + ); + } catch(Exception $e) { + $status = 0; + } - $translator->setLocale($recipientUser->settings->language); - $status = $mailer->sendView( - $recipientUser->contact->email ? $recipientUser->contact->email : $recipientUser->email, - $title, - 'emails/mail', - ['username' => $recipientUser->name, 'message' => $message] - ); $translator->setLocale($locale); if (!$status) { - engelsystem_error('Unable to send email.'); + error(sprintf(__('User %s could not be notified by email due to an error.'), User_Nick_render($recipientUser))); + engelsystem_log(sprintf('User %s could not be notified by email due to an error.', $recipientUser->name)); } return (bool)$status; -- cgit v1.2.3-54-g00ecf