-
Vadim TsukanovРазработчик
-
Дата публикации15.01.2020
-
Категория1С-Битрикс
Довольно часто необходимо отправлять письма администратору, а что делать, если использовать не очень хороший компонент веб-форм нет возможности или желания? Правильно! Будем слать все через API
Итак, первое, что необходимо сделать — создать почтовое событие и почтовый шаблон.
Переходим в Настройки -> Настройки продукта -> Почтовые и СМС события -> Типы событий
Жмакаем — «Добавить тип» в моем примере — заполняю так:
Тип события: QUICK_ORDER
Вид события: Почтовое событие
Сохраняем и переходим в Переходим в Настройки -> Настройки продукта -> Почтовые и СМС события ->Почтовые шаблоны.
Жмакаем — «Добавить шаблон» в моем примере — заполняю так:
Тип почтового события: QUICK_ORDER
Выбираем сайт и язык.
От кого:#DEFAULT_EMAIL_FROM#
Кому: %email кому будет приходить письмо%
Тема: Быстрый заказ
Содержание письма:
Новое сообщение с сайта #SITE_NAME#!
Имя клиента: #CUSTOMER_NAME#
Телефон клиента: #CUSTOMER_PHONE#Детали заказа:
#ORDER_DETAIL#
Теперь к обработчику:
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_before.php");
$SITE_ID = 's1';
$EVENT_TYPE = 'QUICK_ORDER';
$arFeedForm = array(
"CUSTOMER_NAME" => htmlspecialcharsEx($_POST['customer_name']),
"CUSTOMER_PHONE" => htmlspecialcharsEx($_POST['customer_phone']),
"ORDER_DETAIL" => htmlspecialcharsEx($_POST['order_detail']),
);
$result = CEvent::Send($EVENT_TYPE, $SITE_ID, $arFeedForm );
echo json_encode($result);
Я использую ajax для формы, поэтому у меня в ответ летит json.
Как видите, ключи в массиве arFeedForm выступают маркерами в сообщении. Вот и все! Если вы сделали все правильно, но при следующей отправке формы Вы получите письмо на почту.