From 3ee3a60bc25d946674dc0ead7296129e73d9c0a3 Mon Sep 17 00:00:00 2001 From: Torsten Oppermann <torsten@sgalinski.de> Date: Wed, 20 Jun 2018 17:09:05 +0200 Subject: [PATCH] [TASK] Fixing a bug with multiple to addresses --- Classes/Service/MailTemplateService.php | 30 ++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index b0940b49..55a74fc0 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -369,9 +369,9 @@ class MailTemplateService { ); if ($this->ignoreMailQueue && !$isTemplateBlacklisted) { $this->mailMessage->setBody($emailBody, 'text/html'); - $plaintextService = GeneralUtility::makeInstance(PlaintextService::class); - $plainTextBody = $plaintextService->makePlain($emailBody); - $this->mailMessage->addPart($plainTextBody, 'text/plain'); + $plaintextService = GeneralUtility::makeInstance(PlaintextService::class); + $plainTextBody = $plaintextService->makePlain($emailBody); + $this->mailMessage->addPart($plainTextBody, 'text/plain'); $this->mailMessage->send(); $dateTime = new DateTime(); $currentTimestamp = $dateTime->getTimestamp(); @@ -463,7 +463,12 @@ class MailTemplateService { $plaintextService = GeneralUtility::makeInstance(PlaintextService::class); $plaintextBody = $plaintextService->makePlain($mailToSend->getMailBody()); $this->mailMessage->addPart($plaintextBody, 'text/plain'); - $this->mailMessage->setTo(trim($mailToSend->getToAddress())); + $toAddresses = trim($mailToSend->getToAddress()); + $addressesArray = GeneralUtility::trimExplode(',', $toAddresses, TRUE); + if (\count($addressesArray) > 1) { + $toAddresses = $addressesArray; + } + $this->mailMessage->setTo($toAddresses); $this->mailMessage->setFrom($mailToSend->getFromAddress(), $mailToSend->getFromName()); $this->mailMessage->setSubject($mailToSend->getMailSubject()); @@ -491,9 +496,9 @@ class MailTemplateService { } } $dateTime = new DateTime(); - if ((int)$mailToSend->getSendingTime() === 0) { - $mailToSend->setSendingTime($dateTime->getTimestamp()); - } + if ((int) $mailToSend->getSendingTime() === 0) { + $mailToSend->setSendingTime($dateTime->getTimestamp()); + } $mailToSend->setLastSendingTime($dateTime->getTimestamp()); $this->mailMessage->send(); $mailRepository->update($mailToSend); @@ -505,9 +510,14 @@ class MailTemplateService { * @return MailTemplateService */ public function setToAddresses($toAddresses) { - $toAddresses = preg_replace('~\x{00a0}~siu', ' ', $toAddresses); - $this->toAddresses = trim($toAddresses); - $this->mailMessage->setTo(trim($toAddresses)); + $toAddresses = trim(preg_replace('~\x{00a0}~siu', ' ', $toAddresses)); + $this->toAddresses = $toAddresses; + + $addressesArray = GeneralUtility::trimExplode(',', $toAddresses, TRUE); + if (\count($addressesArray) > 1) { + $toAddresses = $addressesArray; + } + $this->mailMessage->setTo($toAddresses); return $this; } -- GitLab