• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/mail/externaluserprovider.php
  • Класс: BitrixTasksIntegrationMailExternalUserProvider
  • Вызов: ExternalUserProvider::sendTaskEmail
private function sendTaskEmail(Message $message, string $siteId): void
{
	$task = $message->getMetaData()->getTask();
	$entityOperation = $message->getMetaData()->getEntityOperation();

	if (!in_array($entityOperation, [EntityOperation::ADD, EntityOperation::UPDATE]))
	{
		return;
	}

	$subjPrefix = '';
	$eventId = 'TASKS_TASK_' . $entityOperation . '_EMAIL';
	$threadMessageId = BitrixTasksIntegrationMail::formatThreadId('TASK_'.$task->getId(), $siteId);

	if($entityOperation === EntityOperation::UPDATE)
	{
		$threadMessageId = BitrixTasksIntegrationMail::formatThreadId(
			sprintf('TASK_UPDATE_%u_%x%x', $task->getId(), time(), rand(0, 0xffffff)),
			$siteId
		);

		$subjPrefix = BitrixTasksIntegrationMail::getSubjectPrefix();
	}

	$this->sendEmail(
		$message,
		$eventId,
		$siteId,
		$subjPrefix,
		$threadMessageId
	);
}