ref, deprecate

This commit is contained in:
Yuri Kuznetsov
2025-03-29 19:55:28 +02:00
parent 0ee1cbeaaf
commit 1224e778d4
4 changed files with 23 additions and 18 deletions

View File

@@ -29,7 +29,7 @@
namespace Espo\Classes\RecordHooks\Email;
use Espo\Core\Mail\Sender;
use Espo\Core\Mail\EmailSender;
use Espo\Core\Record\Hook\SaveHook;
use Espo\Entities\Email;
use Espo\ORM\Entity;
@@ -42,7 +42,7 @@ class BeforeCreate implements SaveHook
public function process(Entity $entity): void
{
if ($entity->getStatus() === Email::STATUS_SENDING) {
$messageId = Sender::generateMessageId($entity);
$messageId = EmailSender::generateMessageId($entity);
$entity->setMessageId('<' . $messageId . '>');
}

View File

@@ -29,7 +29,7 @@
namespace Espo\Classes\RecordHooks\Email;
use Espo\Core\Mail\Sender;
use Espo\Core\Mail\EmailSender;
use Espo\Core\Name\Field;
use Espo\Core\Record\Hook\SaveHook;
use Espo\Core\Utils\FieldUtil;
@@ -94,7 +94,7 @@ class BeforeUpdate implements SaveHook
}
if ($entity->getStatus() == Email::STATUS_SENDING) {
$messageId = Sender::generateMessageId($entity);
$messageId = EmailSender::generateMessageId($entity);
$entity->setMessageId('<' . $messageId . '>');
}

View File

@@ -32,6 +32,7 @@ namespace Espo\Core\Mail;
use Espo\Core\Binding\BindingContainerBuilder;
use Espo\Core\InjectableFactory;
use Espo\Core\Mail\Account\SendingAccountProvider;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Entities\Attachment;
use Espo\Entities\Email;
@@ -148,6 +149,16 @@ class EmailSender
*/
static public function generateMessageId(Email $email): string
{
return Sender::generateMessageId($email);
$rand = mt_rand(1000, 9999);
$messageId = $email->getParentType() && $email->getParentId() ?
sprintf("%s/%s/%s/%s@espo", $email->getParentType(), $email->getParentId(), time(), $rand) :
sprintf("%s/%s/%s@espo", md5($email->get(Field::NAME)), time(), $rand);
if ($email->get('isSystem')) {
$messageId .= '-system';
}
return $messageId;
}
}

View File

@@ -32,7 +32,6 @@ namespace Espo\Core\Mail;
use Espo\Core\FileStorage\Manager as FileStorageManager;
use Espo\Core\Mail\Exceptions\NoSmtp;
use Espo\Core\Mail\Smtp\TransportFactory;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Repository\Option\SaveOption;
use Espo\ORM\EntityCollection;
use Espo\Core\Field\DateTime;
@@ -407,19 +406,14 @@ class Sender
throw new SendingError($e->getMessage());
}
/**
* @deprecated Since v9.1.0. Use EmailSender::generateMessageId.
* @noinspection PhpUnused
* @todo Remove in v10.0.
*/
static public function generateMessageId(Email $email): string
{
$rand = mt_rand(1000, 9999);
$messageId = $email->getParentType() && $email->getParentId() ?
sprintf("%s/%s/%s/%s@espo", $email->getParentType(), $email->getParentId(), time(), $rand) :
sprintf("%s/%s/%s@espo", md5($email->get(Field::NAME)), time(), $rand);
if ($email->get('isSystem')) {
$messageId .= '-system';
}
return $messageId;
return EmailSender::generateMessageId($email);
}
/**
@@ -588,7 +582,7 @@ class Sender
strlen($messageId) < 4 ||
str_starts_with($messageId, 'dummy:')
) {
$messageId = $this->generateMessageId($email);
$messageId = EmailSender::generateMessageId($email);
$email->setMessageId('<' . $messageId . '>');