From f93958ffea746d2ec273ee40f82a93dd24bb2ca7 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 26 Apr 2023 22:11:18 +0300 Subject: [PATCH] ref --- application/Espo/Core/Mail/Importer.php | 11 +++---- application/Espo/Entities/Email.php | 40 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/application/Espo/Core/Mail/Importer.php b/application/Espo/Core/Mail/Importer.php index fd191a5730..680b82b6c4 100644 --- a/application/Espo/Core/Mail/Importer.php +++ b/application/Espo/Core/Mail/Importer.php @@ -158,13 +158,10 @@ class Importer $ccArr = $parser->getAddressList($message, 'cc'); $replyToArr = $parser->getAddressList($message, 'reply-To'); - if (count($fromArr)) { - $email->set('from', $fromArr[0]); - } - - $email->set('to', implode(';', $toArr)); - $email->set('cc', implode(';', $ccArr)); - $email->set('replyTo', implode(';', $replyToArr)); + $email->setFromAddress($fromArr[0] ?? null); + $email->setToAddressList($toArr); + $email->setCcAddressList($ccArr); + $email->setReplyToAddressList($replyToArr); $addressNameMap = $parser->getAddressNameMap($message); diff --git a/application/Espo/Entities/Email.php b/application/Espo/Entities/Email.php index 2bdd31aa11..1630879094 100644 --- a/application/Espo/Entities/Email.php +++ b/application/Espo/Entities/Email.php @@ -413,6 +413,46 @@ class Email extends Entity return $this; } + /** + * @param string[] $addressList + */ + public function setToAddressList(array $addressList): self + { + $this->set('to', implode(';', $addressList)); + + return $this; + } + + /** + * @param string[] $addressList + */ + public function setCcAddressList(array $addressList): self + { + $this->set('cc', implode(';', $addressList)); + + return $this; + } + + /** + * @param string[] $addressList + */ + public function setBccAddressList(array $addressList): self + { + $this->set('bcc', implode(';', $addressList)); + + return $this; + } + + /** + * @param string[] $addressList + */ + public function setReplyToAddressList(array $addressList): self + { + $this->set('replyTo', implode(';', $addressList)); + + return $this; + } + public function addToAddress(string $address): self { $list = $this->getToAddressList();