- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/mail/mail.php
- Класс: BitrixMainMailMail
- Вызов: Mail::__construct
public function __construct(array $mailParams)
{
if(array_key_exists('LINK_PROTOCOL', $mailParams) && $mailParams['LINK_PROTOCOL'] <> '')
{
$this->trackLinkProtocol = $mailParams['LINK_PROTOCOL'];
}
if(array_key_exists('TRACK_READ', $mailParams) && !empty($mailParams['TRACK_READ']))
{
$this->trackReadLink = Tracking::getLinkRead(
$mailParams['TRACK_READ']['MODULE_ID'],
$mailParams['TRACK_READ']['FIELDS'],
$mailParams['TRACK_READ']['URL_PAGE'] ?? null
);
}
if(array_key_exists('TRACK_CLICK', $mailParams) && !empty($mailParams['TRACK_CLICK']))
{
$this->trackClickLink = Tracking::getLinkClick(
$mailParams['TRACK_CLICK']['MODULE_ID'],
$mailParams['TRACK_CLICK']['FIELDS'],
$mailParams['TRACK_CLICK']['URL_PAGE'] ?? null
);
if(!empty($mailParams['TRACK_CLICK']['URL_PARAMS']))
{
$this->trackClickUrlParams = $mailParams['TRACK_CLICK']['URL_PARAMS'];
}
}
if(array_key_exists('LINK_DOMAIN', $mailParams) && $mailParams['LINK_DOMAIN'] <> '')
{
$this->settingServerName = $mailParams['LINK_DOMAIN'];
}
$this->charset = $mailParams['CHARSET'];
$this->contentType = $mailParams['CONTENT_TYPE'];
$this->messageId = $mailParams['MESSAGE_ID'] ?? null;
$this->eol = $this->getMailEol();
$this->attachment = ($mailParams['ATTACHMENT'] ?? array());
if (isset($mailParams['USE_BLACKLIST']))
{
$this->useBlacklist = (bool) $mailParams['USE_BLACKLIST'];
}
$this->initSettings();
if (!$this->trackReadAvailable)
{
$this->trackReadLink = null;
}
if (!$this->trackClickAvailable)
{
$this->trackClickLink = null;
}
if (isset($mailParams['GENERATE_TEXT_VERSION']))
{
$this->generateTextVersion = (bool) $mailParams['GENERATE_TEXT_VERSION'];
}
$this->multipart = (new Multipart())->setContentType(Multipart::MIXED)->setEol($this->eol);
$this->setTo($mailParams['TO']);
$this->setSubject($mailParams['SUBJECT']);
$this->setBody($mailParams['BODY']);
$this->setHeaders($mailParams['HEADER']);
$this->setAdditionalParameters();
if(array_key_exists('CONTEXT', $mailParams) && is_object($mailParams['CONTEXT']))
{
$this->context = $mailParams['CONTEXT'];
}
}