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

BeforePostingSendMail

Описание и параметры

функция-обработчик(
	array arFields
);
Событие "BeforePostingSendMail" вызывается перед отправкой выпуска из метода CPosting::SendMessage.

Параметры

ПараметрОписание
arFields Массив следующего содержания:
  • POSTING_ID - идентификатор выпуска.
  • EMAIL - адрес на который будет отправлен выпуск.
  • SUBJECT - заголовок письма (в кодированном виде, если установлена соответсветствующая настройка модуля).
  • BODY - тело письма уже отформатированное в соответствии со стандартом MIME.
  • HEADER - служебные заголовки.
  • EMAIL_EX - расширенная информация о получателе, см. Поля CPosting.

Данный обработчик должен вернуть массив аналогичного содержания. Этот массив будет передан в качестве аргумента следующему обработчику. Проверка целостности результата обработчика в модуле не производится.

Если обработчик вернет не массив, то отправка письма выполняться не будет. Однако в случае возврата false письмо будет считаться не отправленным, иначе отправка будет отмечена как успешная.

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

<?
// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("subscribe", "BeforePostingSendMail", Array("MyClass", "BeforePostingSendMailHandler"));
class MyClass { // создаем обработчик события "BeforePostingSendMail" public static function BeforePostingSendMailHandler($arFields) { $USER_NAME = "Подписчик"; //Попробуем найти подписчика. $rs = CSubscription::GetByEmail($arFields["EMAIL"]); if($ar = $rs->Fetch()) { if(intval($ar["USER_ID"]) > 0) { $rsUser = CUser::GetByID($ar["USER_ID"]); if($arUser = $rsUser->Fetch()) { $USER_NAME = $arUser["NAME"]." ".$arUser["LAST_NAME"]; } } } $arFields["BODY"] = str_replace("#NAME#", $USER_NAME, $arFields["BODY"]);
return $arFields;
}
}
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх