Быстрая отправка E-mail без помещения в таблицу b_event на 1С-Битрикс
CEvent::SendImmediate
(
$event, — Идентификатор типа почтового события
$lid, — Идентификатор сайта, либо массив идентификаторов сайта
$arFields, — Массив полей типа почтового события идентификатор которого задается в параметре event_type. Массив имеет следующий формат: array(«поле»=>»значение» [, …])
$Duplicate = «Y», — Отправить ли копию письма на адрес указанный в настройках главного модуля в поле «E-Mail адрес или список адресов через запятую на который будут дублироваться все исходящие сообщения».
$message_id = «», — Идентификатор почтового шаблона по которому будет отправлено письмо. Если данный параметр не задан, либо равен «», то письма будут отправлены по всем шаблонам привязанным к типу почтового события, идентификатор которого задается в параметре event_type, а также привязанных к сайту(ам) идентификатор которого указан в параметре site
$files = array(), — Массив. Элементом массива может быть ID файла (см. класс CFile), абсолютный путь к файлу или URL к файлу лежащем на другом сайте
$language_id = «» — Идентификатор языковой версии
)
список возможных ответов:
const SEND_RESULT_NONE = ‘N’;
const SEND_RESULT_SUCCESS = ‘Y’;
const SEND_RESULT_ERROR = ‘F’;
const SEND_RESULT_PARTLY = ‘P’;
const SEND_RESULT_TEMPLATE_NOT_FOUND = ‘0’;
пример после регистрации отправлять информацию о пользователе
<?php
use Bitrix\Main\EventManager;
// ...
EventManager::getInstance()->addEventHandler(
'main',
'OnAfterUserRegister',
['MyClass', 'OnAfterUserRegisterHandler']
);
class MyClass
{
function OnAfterUserRegisterHandler( &$arFields )
{
if ( $arFields['USER_ID'] > 0 ) {
$to_send = [];
$to_send['PASSWORD'] = $arFields['CONFIRM_PASSWORD'];
$to_send['EMAIL'] = $arFields['EMAIL'];
$to_send['USER_ID'] = $arFields['ID'];
$to_send['USER_IP'] = $arFields['USER_IP'];
$to_send['USER_HOST'] = $arFields['USER_HOST'];
$to_send['LOGIN'] = $arFields['LOGIN'];
$to_send['NAME'] = ( trim( $arFields['NAME']) == '' ) ? $toSend['NAME'] = htmlspecialchars('<без имени>') : $arFields['NAME'];
$to_send['LAST_NAME'] = ( trim( $arFields['LAST_NAME'] ) == '' ) ? $toSend['LAST_NAME'] = htmlspecialchars('<без фамилии>') : $arFields['LAST_NAME'];
CEvent::SendImmediate ('MY_NEW_USER', SITE_ID, $to_send);
}
return $arFields;
}
}
// ...
Я согласен с Вами, спасибо за помощь в этом вопросе. Как всегда все гениальное просто.