• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/mail/externaluserprovider.php
  • Класс: BitrixTasksIntegrationMailExternalUserProvider
  • Вызов: ExternalUserProvider::pushMessages
public function pushMessages(): void
{
	if (!BitrixTasksIntegrationMail::isInstalled())
	{
		return;
	}

	$siteId = $this->getSiteId();
	if ($siteId === null)
	{
		return;
	}

	foreach ($this->messages as $message)
	{
		if(false === BitrixTasksIntegrationMailUser::isEmail($message->getRecepient()->toArray()))
		{
			continue;
		}

		$task = $message->getMetaData()->getTask();
		if ($task === null)
		{
			continue;
		}

		switch ($message->getMetaData()->getEntityCode())
		{
			case EntityCode::CODE_TASK:
				$this->sendTaskEmail($message, $siteId);
				break;
			case EntityCode::CODE_COMMENT:
				$this->sendCommentEmail($message, $siteId);
				break;
		}
	}
}