Вашему вниманию представляю легкий, простой и полностью настраиваемый метод отправки почты на 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"
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 } ?>
Ajax
Для того, чтобы наш форма не перезагружала всю страницу, будем использовать Ajax. Для работы нашего скрипта обязательно подключаем jQuert для нашей страницы. Для этого вставляем следующий код в наш html документ:
<script type="text/javascript"> $(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("Ваше сообщение отпрвлено!"); }); }); }); </script>
На этом всё.
Вывод
В итоге мы получили легкий и простой способ отправки почты с вашего сайта. Вы можете использовать его как вам угодно. Добавить больше полей, а также различные способы валидации полей. Дело за вами.