Кому приходилось работать с Битрикс-ом скорее всего сталкивался с почтовой системой, которая позволяет работать с Email сообщениями на сайте.
Рассмотрим кратко к чему сводиться работа с почтовой системой:
1. Создание типа почтового события.
2. Создание почтового шаблона.
3. Создание почтового события.
Каждый почтовый шаблон привязывается к определенному типу почтового события. Тип определяет набор специальных полей (placeholder’ов), которые могут быть использованы в почтовом шаблоне. В момент создания почтового события (т.е. готового сообщения) эти поля будут инициализированы конкретными значениями.
Типы почтовых событий можно создавать через интерфейс администраторской части сайта, либо посредством API.
Через интерфейс:
Настройки > Настройки продукта > Почтовые события > Типы почтовых событий
Посредством API:
<?
$obEventType = new CEventType;
$obEventType->Add(array(
"EVENT_NAME" => "NEW_USER",
"NAME" => "Новый пользователь",
"SITE_ID" => "ru",
"DESCRIPTION" => "
#USER_ID# - ID пользователя
#LOGIN# - Логин
#NAME# - Имя пользователя
#EMAIL# - Эл. адрес пользователя
"
));
?>
2. Создание почтового шаблона.
При возникновении на сайте события на отправку какого-либо письма, система ищет подходящий шаблон для такого письма. Если шаблон найден, то письмо отправляется в соответствии с этим шаблоном.
Почтовые шаблоны можно создавать через интерфейс администраторской части сайта, либо посредством API.
Через интерфейс:
Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны
Посредством API:
<?
$arr["ACTIVE"] = "Y";
$arr["EVENT_NAME"] = "NEW_USER";
$arr["SITE_ID"] = array("ru","en");
$arr["EMAIL_FROM"] = "support@href.kz";
$arr["EMAIL_TO"] = "support@href.kz";
$arr["BCC"] = "";
$arr["SUBJECT"] = "Новый пользователь - #ID#";
$arr["BODY_TYPE"] = "text";
$arr["MESSAGE"] = "
На сайте был зарегистрирован новый пользователь.
ID: #USER_ID#
Логин: #LOGIN#
Имя: #NAME#
Почта: #EMAIL#
";
$obTemplate = new CEventMessage;
$obTemplate->Add($arr);
?>
3. Создание почтового события.
Почтовое событие может быть создано только посредством API. В момент создания почтового события, специальные поля, используемые в почтовом шаблоне, будут инициализированы конкретными значениями.
Пример создания почтового события:
<? $eventName = 'NEW_USER'; $arFields = Array( "USER_ID" => 1, "LOGIN" => 'myLogin', "NAME" => 'Rustam', "EMAIL" => 'htmakers@gmail.com' ); $event = new CEvent; $event->Send($eventName, SITE_ID, $arFields, "N"); ?>
Кроме того в конце выполнения каждой страницы сайта автоматически вызывается функция CEvent::CheckEvents. Данная функция собирает неотправленные почтовые события и отправляет их в виде E-Mail сообщений с помощью функции bxmail.