1. Создать файл-обработчик контроллер — send.php
В кодировке utf-8 без BOM
В обработчик send.php будут приходить данные из index.php
2. В index.php создаем форму
<form action="/send.php" method="POST">
<table>
<tr>
<td>Имя</td>
<td><input type = "text" name = "user_name" required></td>
</tr>
<tr>
<td>E-mail</td>
<td><input type = "text" name = "user_email"></td>
</tr>
</table>
<input type = "submit" name = "submit" value = "Отправить" />
</form>
3. В send.php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$USER_NAME = htmlspecialcharsEx($_POST["user_name"]);
$USER_EMAIL = htmlspecialcharsEx($_POST["user_email"]);
$arEventFields = array(
"USER_NAME" => $USER_NAME,
"USER_EMAIL" => $USER_EMAIL
);
4. В настройках продукта Bitrix — почтовые события — типы почтовых событий — создать новый тип события, например SEND_EMAIL
5. Создать html-шаблон письма в почтовые события — «Почтовые шаблоны». Там выбрать созданный ранее тип почтового события SEND_EMAIL. Заполнить поле от кого, после собаки должно быть имя домена сайта, чтоб письма не попадали в спам у получателя.
В шаблоне можно использовать константы например:
Сообщение с сайта: #SITE_NAME#
Имя : #USER_NAME#
E-mail: #USER_EMAIL#
6. Добавить в send.php класс отправки письма и перенаправление на нужную страницу в конце:
CEvent::Send("SEND_EMAIL", "s1", $arEventFields, "N", "", "");
// 1 аргумент - Идентификатор типа почтового события.
// 2 аргумент - Идентификатор сайта, либо массив идентификаторов сайта.
// 3 аргумент - Массив полей типа почтового события идентификатор которого задается в параметре event_type. Массив имеет следующий формат: array("поле"=>"значение" [, ...]).
// 4 аргумент - Отправить ли копию письма на адрес указанный в настройках главного модуля
// 5 аргумент - Идентификатор почтового шаблона по которому будет отправлено письмо.
//Если данный параметр не задан, либо равен "", то письма будут отправлены по всем шаблонам привязанным к типу почтового события, идентификатор которого задается в параметре event_type, а также привязанных к сайту(ам) идентификатор которого указан в параметре site.
//Необязательный. По умолчанию - "".
// 6 аргумент - Массив идентификаторов файлов, которые используются классом CFile. Либо можно передать массив абсолютных путей до файлов.
header("Location: /contacts/"); //Перенаправление на страницу после отработки скрипта
В итоге send.php:
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$USER_NAME = htmlspecialcharsEx($_POST["user_name"]);
$USER_EMAIL = htmlspecialcharsEx($_POST["user_email"]);
$arEventFields = array(
"USER_NAME" => $USER_NAME,
"USER_EMAIL" => $USER_EMAIL
);
CEvent::Send("SEND_EMAIL", "s1", $arEventFields, "N", "", "");
// 1 аргумент - Идентификатор типа почтового события.
// 2 аргумент - Идентификатор сайта, либо массив идентификаторов сайта.
// 3 аргумент - Массив полей типа почтового события идентификатор которого задается в параметре event_type. Массив имеет следующий формат: array("поле"=>"значение" [, ...]).
// 4 аргумент - Отправить ли копию письма на адрес указанный в настройках главного модуля
// 5 аргумент - Идентификатор почтового шаблона по которому будет отправлено письмо.
//Если данный параметр не задан, либо равен "", то письма будут отправлены по всем шаблонам привязанным к типу почтового события, идентификатор которого задается в параметре event_type, а также привязанных к сайту(ам) идентификатор которого указан в параметре site.
//Необязательный. По умолчанию - "".
// 6 аргумент - Массив идентификаторов файлов, которые используются классом CFile. Либо можно передать массив абсолютных путей до файлов.
header("Location: /contacts/"); //Перенаправление на страницу после отработки скрипта
Нет комментариев