- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/postingmanager.php
- Класс: BitrixSenderPostingManager
- Вызов: PostingManager::sendToAddress
static function sendToAddress($mailingChainId, $address)
{
$recipientEmail = $address;
$emailParts = explode('@', $recipientEmail);
$recipientName = $emailParts[0];
global $USER;
$mailingChain = MailingChainTable::getRowById(['ID' => $mailingChainId]);
$fields = [
'NAME' => $recipientName,
'EMAIL_TO' => $address,
'USER_ID' => $USER->GetID(),
'SENDER_CHAIN_ID' => $mailingChain["ID"],
'SENDER_CHAIN_CODE' => 'sender_chain_item_'.$mailingChain["ID"]
];
$letter = new EntityLetter($mailingChainId);
$message = $letter->getMessage();
$siteId = MailingTable::getMailingSiteId($mailingChain['MAILING_ID']);
$message->getReadTracker()
->setModuleId('sender')
->setFields(['RECIPIENT_ID' => 0])
->setSiteId($siteId);
$message->getClickTracker()
->setModuleId('sender')
->setFields(['RECIPIENT_ID' => 0])
->setUriParameters(['bx_sender_conversion_id' => 0])
->setSiteId($siteId);
$message->getUnsubTracker()
->setModuleId('sender')
->setFields(
[
'MAILING_ID' => !empty($mailingChain) ? $mailingChain['MAILING_ID'] : 0,
'EMAIL' => $address,
'TEST' => 'Y'
]
)
->setSiteId($siteId);
$message->getUnsubTracker()
->setHandlerUri(Option::get('sender', 'unsub_link'));
$message->setFields($fields);
$result = $message->send();
return $result ? static::SEND_RESULT_SENT : static::SEND_RESULT_ERROR;
}