diff --git a/application/Espo/Entities/Email.php b/application/Espo/Entities/Email.php index 6445de9d0f..b551045487 100644 --- a/application/Espo/Entities/Email.php +++ b/application/Espo/Entities/Email.php @@ -30,12 +30,11 @@ namespace Espo\Entities; use Espo\Core\Utils\Util; - +use Espo\Core\ORM\Entity; use Espo\Entities\Attachment; - use Espo\Services\Email as EmailService; -class Email extends \Espo\Core\ORM\Entity +class Email extends Entity { public const ENTITY_TYPE = 'Email'; @@ -343,4 +342,9 @@ class Email extends \Espo\Core\ORM\Entity { $this->set('messageId', 'dummy:' . Util::generateId()); } + + public function getMessageId(): ?string + { + return $this->get('messageId'); + } } diff --git a/application/Espo/Resources/metadata/entityAcl/Email.json b/application/Espo/Resources/metadata/entityAcl/Email.json index 8d816e7df0..f1a1946d7e 100644 --- a/application/Espo/Resources/metadata/entityAcl/Email.json +++ b/application/Espo/Resources/metadata/entityAcl/Email.json @@ -2,6 +2,9 @@ "fields": { "users": { "readOnly": true + }, + "messageId": { + "readOnly": true } }, "links": { diff --git a/application/Espo/Services/Email.php b/application/Espo/Services/Email.php index aa2939b7f1..6dd6858066 100644 --- a/application/Espo/Services/Email.php +++ b/application/Espo/Services/Email.php @@ -284,6 +284,7 @@ class Email extends Record implements if ($repliedMessageId) { $message->getHeaders()->addHeaderLine('In-Reply-To', $repliedMessageId); + $message->getHeaders()->addHeaderLine('References', $repliedMessageId); } try { @@ -980,6 +981,7 @@ class Email extends Record implements return null; } + /** @var EmailEntity $replied */ $replied = $this->entityManager ->getRDBRepository('Email') ->select(['messageId']) @@ -992,6 +994,6 @@ class Email extends Record implements return null; } - return $replied->get('messageId'); + return $replied->getMessageId(); } }