diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 7520c5950..916179431 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -155,6 +155,7 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm $userLanguages = $this->config->getUserValueForUsers('core', 'lang', $affectedUsers); $userTimezones = $this->config->getUserValueForUsers('core', 'timezone', $affectedUsers); $userEmails = $this->config->getUserValueForUsers('settings', 'email', $affectedUsers); + $userEnabled = $this->config->getUserValueForUsers('core', 'enabled', $affectedUsers); // Send Email $default_lang = $this->config->getSystemValue('default_language', 'en'); @@ -163,10 +164,16 @@ public function sendEmails($limit, $sendTime, $forceSending = false, $restrictEm $deleteItemsForUsers = []; $this->activityManager->setRequirePNG(true); foreach ($affectedUsers as $user) { + if (isset($userEnabled[$user]) && $userEnabled[$user] === 'false') { + $deleteItemsForUsers[] = $user; + continue; + } + if (empty($userEmails[$user])) { // The user did not setup an email address // So we will not send an email :( $this->logger->debug("Couldn't send notification email to user '{user}' (email address isn't set for that user)", ['user' => $user, 'app' => 'activity']); + $deleteItemsForUsers[] = $user; continue; }