• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/posting/sender.php
  • Класс: BitrixSenderPostingSender
  • Вызов: Sender::applyRecipientToMessage
static function applyRecipientToMessage(Adapter $message, array $recipient, $isTest = false)
{
	$siteId = MailingTable::getMailingSiteId($recipient['CAMPAIGN_ID'] ? : Campaign::getDefaultId(SITE_ID));
	$message->getReadTracker()->setModuleId('sender')->setFields(['RECIPIENT_ID' => $recipient["ID"]])
			->setHandlerUri(Option::get('sender', 'read_link'))->setSiteId($siteId);
	$message->getClickTracker()->setModuleId('sender')->setFields(['RECIPIENT_ID' => $recipient["ID"]])
			->setUriParameters(['bx_sender_conversion_id' => $recipient["ID"]])->setHandlerUri(
			Option::get('sender', 'click_link')
		)->setSiteId($siteId);
	$message->getUnsubTracker()->setModuleId('sender')->setFields(
		[
			'RECIPIENT_ID' => $recipient['ID'],
			'CONTACT_ID' => $recipient['CONTACT_ID'] ?? '',
			'MAILING_ID'   => $recipient['CAMPAIGN_ID'] ?? 0,
			'EMAIL'        => $message->getRecipientCode(),
			'CODE'         => $message->getRecipientCode(),
			'TEST'         => $isTest ? 'Y' : 'N'
		]
	)->setHandlerUri(Option::get('sender', 'unsub_link'))->setSiteId($siteId);

	$fields = self::prepareRecipientFields($recipient);
	$message->setFields($fields);
	$message->setRecipientId($recipient['ID']);
	$message->setRecipientCode($recipient['CONTACT_CODE']);
	$message->setRecipientType(RecipientType::getCode($recipient['CONTACT_TYPE_ID'] ?? ''));
	$message->setRecipientData($recipient);
}