Почтовая система
Описание
Почтовая система - это технология предназначенная для работы с E-Mail сообщениями на сайте.
Работа с почтовой системой состоит из следующих этапов:
- Создание типа почтового события. Тип почтового события может быть создан с использованием функции CEventType::Add, либо на странице Типы почтовых событий.
- Создание почтового шаблона. Создание почтового шаблона доступно в административном меню "Почтовые шаблоны", а также при использовании функции CEventMessage::Add.
- Создание почтового события. Почтовое событие может быть создано только функцией CEvent::Send.
В конце выполнения каждой страницы, будет автоматически вызвана функция CEvent::CheckEvents, основные задачи которой:
- выбрать из таблицы b_event необработанные почтовые события
- сгенерировать по ним E-Mail сообщения (письма)
- отправить их
- записать результат их отправки в таблицу b_event в поле SUCCESS_EXEC, используя одно из следующих обозначений:
- Y - все письма по всем почтовым шаблонам были успешно отправлены
- F - все письма по всем почтовым шаблонам не смогли быть отправлены
- P - часть писем отправлена успешно, часть писем - безуспешно
- 0 - почтовые шаблоны не были найдены
- N - почтовое событие ещё не обрабатывалось функцией CEvent::CheckEvents
На отсылку писем можно повлиять изменяя следующие настройки главного модуля:
- Конвертировать символы новой строки Unix формата в Windows формат при отправке email
- Конвертировать 8-битные символы в заголовке письма
- E-Mail адрес или список адресов через запятую на который будут дублироваться все исходящие сообщения
- Дублировать E-Mail адрес в заголовок
- Отправлять в письме идентификаторы почтового события и шаблона
Помимо вышеописанных параметров, доступна также константа ONLY_EMAIL, инициализация которой позволяет отправлять все письма только на заданный адрес или группу адресов.
Пример создания типа почтового события
<? $obEventType = new CEventType; $obEventType->Add(array( "EVENT_NAME" => "ADV_BANNER_STATUS_CHANGE", "NAME" => "Изменился статус баннера", "LID" => "ru", "DESCRIPTION" => " #ID# - ID баннера #CONTRACT_ID# - ID контракта #TYPE_SID# - ID типа " )); ?>
Пример создания почтового шаблона
<?
$arr["ACTIVE"] = "Y";
$arr["EVENT_NAME"] = "ADV_BANNER_STATUS_CHANGE";
$arr["LID"] = array("ru","en");
$arr["EMAIL_FROM"] = "admin@site.ru";
$arr["EMAIL_TO"] = "admin@site.ru";
$arr["BCC"] = "";
$arr["SUBJECT"] = "Изменен статус баннера #ID#";
$arr["BODY_TYPE"] = "text";
$arr["MESSAGE"] = "
Внимание! Статус баннера # #ID# изменен.
Тип баннера - #TYPE_SID#
ID контракта - #CONTRACT_ID#
";
$obTemplate = new CEventMessage;
$obTemplate->Add($arr);
?>
Пример создания почтового события
<?
$arFields = array(
"ID" => 124,
"CONTRACT_ID" => 1,
"TYPE_SID" => "LEFT"
);
CEvent::Send("ADV_BANNER_STATUS_CHANGE", array("ru", "en"), $arFields);
?>
Смотрите также
© «Битрикс», 2001-2025, «1С-Битрикс», 2025