Битрикс — отправка почтового события на D7

В данной заметке вы узнаете как быстро отправлять почтовое событие, например, для тестов почтовых шаблонов.

Отправка почтовых писем в Битриксе при помощи API

Чтобы отправить почтовое событие (предварительно создав его в админке) мы используем CEvent::Send.
Код выглядит примерно так:

$arEventFields = array(
    "ID"                  => $CONTRACT_ID,
    "MESSAGE"             => $mess,
    "EMAIL_TO"            => implode(",", $EMAIL_TO),
    "ADMIN_EMAIL"         => implode(",", $ADMIN_EMAIL),
    "ADD_EMAIL"           => implode(",", $ADD_EMAIL),
    "STAT_EMAIL"          => implode(",", $VIEW_EMAIL),
    "EDIT_EMAIL"          => implode(",", $EDIT_EMAIL),
    "OWNER_EMAIL"         => implode(",", $OWNER_EMAIL),
    "BCC"                 => implode(",", $BCC),
    "ACTIVE"              => $arContract["ACTIVE"],
    "NAME"                => $arContract["NAME"],
    );
$arrSITE =  CAdvContract::GetSiteArray($CONTRACT_ID);
CEvent::Send("ADV_CONTRACT_INFO", $arrSITE, $arEventFields);

Теперь посмотрим в чем отличие если отправлять при помощи кода ядра D7:

use Bitrix\Main\Mail\Event;
Event::send(array(
  "EVENT_NAME" => "TEST",
  "LID" => "s1",
  "C_FIELDS" => array(
    "EMAIL" => $email,
    "USER_ID" => 1
  ),
));

В C_FIELDS передаем параметры, указываем сайт и имя события.

События в Битриксе приходят не сразу, что делать?

На удивление, это частый случай. Всему виной настройки вашего сайта. Но, в API есть хорошая альтернатива, событие Event::sendImmediate. Код будет выглядеть так:

use Bitrix\Main\Mail\Event;
Event::sendImmediate(array(
  "EVENT_NAME" => "TEST",
  "LID" => "s1",
  "C_FIELDS" => array(
    "EMAIL" => $email,
    "USER_ID" => 1
  ),
));

В большинстве случаев события приходят быстро и корректно :).

Если на вашем сайте необходимо настроить работу почтовых событий и писем, пишите мне в личку.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *