diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 22039c3a7..5e64a5b79 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -325,6 +325,11 @@ protected function sendEmailToUser($userName, $email, $lang, $timezone, $maxTime return true; } + if (!$this->mailer->validateMailAddress($email)) { + $this->logger->warning('Notification for user "{user}" not sent because the email address "{email}" is invalid.', ['user' => $userName, 'email' => $email]); + return true; + } + list($mailData, $skippedCount) = $this->getItemsForUser($userName, $maxTime); $l = $this->getLanguage($lang); diff --git a/tests/MailQueueHandlerTest.php b/tests/MailQueueHandlerTest.php index a8446323c..0638eba70 100644 --- a/tests/MailQueueHandlerTest.php +++ b/tests/MailQueueHandlerTest.php @@ -242,6 +242,10 @@ public function testSendEmailToUser() { $this->mailer->expects($this->once()) ->method('createEMailTemplate') ->willReturn($template); + $this->mailer->expects($this->once()) + ->method('validateMailAddress') + ->with($email) + ->willReturn(true); $template->expects($this->once()) ->method('addHeader');