Кому приходилось работать с Битрикс-ом скорее всего сталкивался с почтовой системой, которая позволяет работать с 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.