Почтовая система
Описание
Почтовая система - это технология предназначенная для работы с 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-2024, «1С-Битрикс», 2024