Отправка почты через ajax для bitrix

Бывает часто нужно сделать кнопку обратного звонка или просто отправку письма с проверкой полей без перезагрузки страницы.

Вот один из методов реализации для bitrix


<?

//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

// Сначала подключим пролог, без него не будет работать API Битрикса  

require( $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php' );  

if(isset($_GET['action']))

{

if($_GET['action']=='callZakaz')

{

// Нужно убедиться, что все поля заполнены  

if ( $_POST['PHONE']||$_POST['EMAIL'] )  

{  


// Передаём массив данных для отправки почты по почтовому событию  

// EMAIL - содержит емейл из формы  

// TEXT - содержит текст сообщения из формы  

// iconv() используется на сайтах в кодировке Windows-1251, так как AJAX работает в кодировке UTF-8  

// Для сайтов в кодировке UTF-8 iconv() использовать не нужно  

$arMail = Array(   

'PHONE' => $_POST['PHONE'],  

'PRICE' => $_POST['PRICE'],

'NAME' => iconv('utf-8','cp1251',$_POST['NAME']) ,

'EMAIL' => $_POST['EMAIL'] ,

'LINK' => $_POST['LINK'] ,

'SRC' => $_POST['SRC'] ,

'NAME_PRODUCT' => iconv('utf-8','cp1251',$_POST['NAME_PRODUCT']),

'TEMA' => iconv('utf-8','cp1251',$_POST['tema'])

);  

$vote='VOTE_CALL_ZAKAZ_SERVICE';

CEvent::SendImmediate( $vote, 's2', $arMail );  

 

// Выводим сообщение, которое будет возвращено функцией $.post и передано в наш "спан для уведомлений"  

echo 'Мы Вам перезвоним! Спасибо!';  

}

    }

}

?>

Комментарии к статье
Защита от роботов