Код создает и отправляет тестовую email-рассылку с использованием компонента news.list.mail для автоматического наполнения письма последними новостями из указанного инфоблока.
Код |
---|
<?php
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\Mail\Event;
// Данные для отправки
$eventName = 'TEST_NEWSLETTER';
$fields = [
'EMAIL_TO' => 'test@example.com',
'SUBJECT' => 'Последние новости',
'BODY' => '
<h1>Свежие новости</h1>
<?$GLOBALS["APPLICATION"]->IncludeComponent(
"bitrix:news.list.mail",
"",
array(
"IBLOCK_TYPE" => "news",
"IBLOCK_ID" => 1,
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"NEWS_COUNT" => 3,
"FIELD_CODE" => array("ID", "NAME", "PREVIEW_TEXT"),
"PROPERTY_CODE" => array("", "")
)
);?>
<p><a href="#UNSUBSCRIBE_LINK#">Отписаться</a></p>
'
];
// Отправка письма
$result = Event::send([
'EVENT_NAME' => $eventName,
'LID' => 's1',
'C_FIELDS' => $fields
]);
if ($result->isSuccess()) {
echo 'Тестовое письмо успешно отправлено';
} else {
echo 'Ошибка: ' . implode(', ', $result->getErrorMessages());
}
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_after.php'); |
Для работы кода необходимо:
Создать почтовое событие "TEST_NEWSLETTER" в административной панели
Заменить]test@example.com на реальный email
Указать корректный ID инфоблока с новостями
Разместить код в файле в корне сайта (например: /test_newsletter.php)
Код демонстрирует как динамически генерировать содержимое письма с актуальными новостями при помощи встроенного компонента Битрикс.