Отправка почты с помощью PHP и Ajax

Легкий, простой метод отправки почты на PHP. Чтобы не перезагружать страницу во время отправки, будем использовать Ajax. Этот способ отлично подойдет для одностраничных и простых сайтов..

Отправка почты с помощью PHP и Ajax

» » Сообщение:

Легкий, простой и полностью настраиваемый метод отправки почты на PHP. Для того, чтобы не перезагружать страницу во время отправки, будем использовать Ajax. Этот способ отлично подойдет для одностраничных и простых сайтов.

HTML

Итак, приступаем. В качестве примера рассмотрим самую банальную форму заказа звонка. Форма будет содержать всего два поля номер и телефон.
Для начала напишем простую форму отправки на HTML:

Код: Выделить всё Развернуть
<form id="form">
    <input type="text" name="name" required="required"/>
    <input type="text" name="phone" required="required"/>
    <input type="submit" value="Заказать звонок"/>
</form>

Для обязательных полей указываем: required="required»

Ajax

Для того, чтобы наш форма не перезагружала всю страницу, будем использовать Ajax. Для работы нашего скрипта обязательно подключаем jQuert для нашей страницы. Для этого вставляем следующий код в наш html документ:

Код: Выделить всё Развернуть
$(document).ready(function(){
    $("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
            });
    });
});

PHP

Далее создадим PHP файл для отправки нашей почты. Например, send.php и разместим его в корне сайта.
Он будет содержать следующий код:

Код: Выделить всё Развернуть
if((isset($ _ POST ['name'])&& $ _ POST ['name']!="")&&(isset($ _ POST ['phone'])&&$ _ POST ['phone']!="")){
//Проверка отправилось ли наше поля name и не пустые ли они
        $to = 'mail@yandex.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $subject = 'Обратный звонок'; //Загаловок сообщения
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$ _ POST ['name'].'</p>
                        <p>Телефон: '.$ _ POST ['phone'].'</p>                       
                    </body>
                </html>'; //Текст нащего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        $headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя
        mail ($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
Вложения
Зарегистрируйтесь, чтобы скачать вложения.
php, ajax, jquery, smtp, mail(



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0371Переименование нескольких файлом с ...
Сообщение от: Admin
0192Как манипулировать людьми с помощью...
Сообщение от: Admin
0784Определение поддержки CSS свойств п...
Сообщение от: Admin
1392Re: Вывод повторяющегося контента с...
Сообщение от: Admin
0392Блокировка POST-запросов с помощью ...
Сообщение от: Admin