Документация для разработчиков
Темная тема

OnBeforeEventSend

Вызывается перед отправкой сообщения.

Параметры

Параметр Описание
arFieldsсписок переменных
arTemplate массив данных для шаблона
context контекст письма \Bitrix\Main\Mail\Context. Параметр используется для разделения потоков писем, путем установки кода категории (потока) писем.

Пример функции-обработчика

AddEventHandler('main', 'OnBeforeEventSend', Array("MyForm", "my_OnBeforeEventSend"));
class MyForm
{
	public static function my_OnBeforeEventSend($arFields, $arTemplate)
	{
        
		//получим сообщение
		$mess = $arTemplate["MESSAGE"];
		foreach($arFields as $keyField => $arField)
			$mess = str_replace('#'.$keyField.'#', $arField, $mess); //подставляем значения в шаблон
	}
}

Параметры можно передавать по ссылкам. Вместо:

function my_OnBeforeEventSend($arFields, $arTemplate)

Использовать

function my_OnBeforeEventSend(&$arFields, &$arTemplate)


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Михаил Сидоркин
Пример использования события:

Код
AddEventHandler('main', 'OnBeforeEventSend', Array("MyForm", "my_OnBeforeEventSend"));
class MyForm
{
function my_OnBeforeEventSend($arFields)
  {
   
   if ($rs = CGuest::GetByID($arFields['RS_STAT_GUEST_ID']))
   {
          $ar = $rs->Fetch();
                # записываем для всех шаблонов отправки письма, там где нужно выводим в шаблоне письма #whence#
                $arFields["whence"]= $ar["FIRST_URL_FROM"];// откуда пришел
   }
  }
}
10
Denis Sharomov
Если нужно полностью заблокировать отправку почты на сайте, в файл bitrix/php_interface/dbconn.php установите:

Код
define('ONLY_EMAIL','none');
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх