send
\Bitrix\Main\Entity\AddResult public static \Bitrix\Main\Mail\Event::send( array $data );
Статический метод отсылает почтовое событие. Возвращает объект Main\Entity\AddResult.
Аналог метода CEvent::Send старого ядра.
В отличие от старого ядра параметр LID - строка, то есть массив идентификаторов сайтов нужно передавать через запятую.
Параметры
Параметр | Описание | Версия |
---|---|---|
$data | Массив параметров события. |
Примеры
// D7 use Bitrix\Main\Mail\Event; Event::send(array( "EVENT_NAME" => "NEW_USER", "LID" => "s1", "C_FIELDS" => array( "EMAIL" => "info@intervolga.ru", "USER_ID" => 42 ), ));
Пример отправки файла во вложении:
$fileId = false; if($_FILES['file']) $fileId = \CFile::SaveFile($_FILES['file'],"mailatt"); \Bitrix\Main\Mail\Event::sendImmediate(array( // or send "EVENT_NAME" => "VM_SERVICE_REQUEST", "LID" => "s2", "C_FIELDS" => array( "EMAIL" => $arCompany["PROPERTIES"]["EMAIL"]["VALUE"], "COMPANY_NAME" => $arCompany["NAME"], "MESSAGE" => $request->getPost("MESSAGE"), "USER_NAME" => $USER->GetFullName(), "USER_EMAIL" => $USER->GetEmail(), ), "FILE" => array($fileId), // нужно сохранять сначала, из документации к CEvent::send: //Массив id файлов, которые используются классом CFile. //Либо можно передать массив абсолютных путей до файлов. )); if($fileId) CFile::Delete($fileId);
Для отправки конкретного почтового шаблона нужно передавать (int)MESSAGE_ID:
\Bitrix\Main\Mail\Event::send([ "EVENT_NAME" => "LOCAL_CORE_FORM_ADD_FAQ", 'MESSAGE_ID' => 64, "LID" => "s1", "C_FIELDS" => [ 'ID' => $arFields['ID'], ] ]);
Сообщение не промодерировано, возможны ошибки и неточности.
|
||||
| ||||
Сообщение не промодерировано, возможны ошибки и неточности.
|
А ещё оно не обрабатывает старое событие вроде "OnBeforeEventAdd" только \Bitrix\Main\Mail\Internal\EventTable::OnBeforeAdd($event)
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.