Skip to content

Instantly share code, notes, and snippets.

@eksana
Created May 11, 2017 03:52
Show Gist options
  • Save eksana/409024f7aab31b60f0ac543cc9e18008 to your computer and use it in GitHub Desktop.
Save eksana/409024f7aab31b60f0ac543cc9e18008 to your computer and use it in GitHub Desktop.
Отправка почты с ajax
Для начала напишем простую форму отправки на 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>
На этом всё.
Вывод
В итоге мы получили легкий и простой способ отправки почты с вашего сайта. Вы можете использовать его как вам угодно. Добавить больше полей, а также различные способы валидации полей. Дело за вами.
php,ajax,mail, отправка почты
https://habrahabr.ru/sandbox/93363/
@eksana
Copy link
Author

eksana commented May 11, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment