/** * Process if an email is resent. * * @param Events\QueueEmailEvent $event */ public function onEmailResend(Events\QueueEmailEvent $event) { $message = $event->getMessage(); if (isset($message->leadIdHash)) { $stat = $this->emailModel->getEmailStatus($message->leadIdHash); if ($stat !== null) { $stat->upRetryCount(); $retries = $stat->getRetryCount(); if (true || $retries > 3) { //tried too many times so just fail $reason = $this->translator->trans('mautic.email.dnc.retries', ['%subject%' => EmojiHelper::toShort($message->getSubject())]); $this->emailModel->setDoNotContact($stat, $reason); } else { //set it to try again $event->tryAgain(); } $this->em->persist($stat); $this->em->flush(); } } }