Назад

Массовая отправка писем через API в Битрикс: инструкция с кодом

Главная
Блог
Массовая отправка писем через API в Битрикс: инструкция с кодом

В этой статье разберем, как отправить несколько писем в Битрикс с помощью CEvent::Send. Этот метод подходит для автоматической рассылки через код, а не через админку или сервисы email-маркетинга.

Шаг 1. Создание почтового события и шаблона письма

Сначала нужно создать тип почтового события и шаблон письма. Например, назовем его BLOG_POST_BROADCAST.

  1. Перейдите в Настройки → Почтовые события → Типы почтовых событий и добавьте новый.

  2. В Почтовые шаблоны создайте письмо с HTML-разметкой.

Шаг 2. Подготовка тестовой страницы

Создадим страницу для выполнения скрипта:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Массовая отправка писем");
// Код отправки писем
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Шаг 3. Получение email-адресов пользователей

Выгрузим email-адреса из базы пользователей:

$rsUsers = CUser::GetList(($by="ID"), ($order="asc"), $filter);
while($rsUsers->NavNext(true, "f_")) {
    echo "[{$f_ID}] ({$f_LOGIN}) {$f_NAME} {$f_LAST_NAME}<br>";
}

Шаг 4. Отправка писем в цикле

Добавим отправку писем с динамическими параметрами:

$rsUsers = CUser::GetList(($by="ID"), ($order="asc"), $filter);
while($rsUsers->NavNext(true, "f_")) {
    $arEventFields = [
        "EMAIL_FROM"   => "no-reply@site.com", // Отправитель
        "EMAIL_TO"     => $f_EMAIL,            // Получатель
        "SITE_NAME"    => 'Название сайта',
        "USER_NAME"    => $f_NAME . " " . $f_LAST_NAME,
        "MESSAGE_TITLE" => 'Тема письма',
        "AUTHOR"       => 'Команда сайта',
        "MESSAGE_TEXT" => $message,             // Текст письма
        "MESSAGE_PATH" => 'https://site.com/blog/', // Ссылка
    ];

    CEvent::Send("BLOG_POST_BROADCAST", "s1", $arEventFields, 'N', 173); // 173 — ID шаблона
}

Важные замечания

  • Код рабочий, но неоптимизирован для больших баз (может нагружать сервер).

  • Для массовых рассылок лучше использовать специализированные сервисы (SendGrid, UniSender и др.).

  • В Битрикс есть встроенный функционал рассылок, но он ограничен.

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

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи