Вот код HTML:
<form id="fb-form">
<input class="fb-elem" type="text" name="name" placeholder="Ваше имя"/>
<input class="fb-elem" type="text" name="mail" placeholder="Ваш email"/>
<textarea class="fb-elem" name="text" placeholder="Ваше сообщение"></textarea>
<button class="fb-btn">Отправить</button>
</form>
Вот код php:
<?php
$recepient = "[моя почта]";
$sitename = "[url моего сайта]";
$name = trim($_POST["name"]);
$mail = trim($_POST["mail"]);
$text = trim($_POST["text"]);
$message = "Имя: $name \nE-mail: $mail \nТекст: $text";
$pagetitle = "Новое сообщение с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
?>
Вот AJAX:
$('body').on('submit', '#fb-form', function(e) {
e.preventDefault();
var alright = true;
$('.fb-elem').each(function() {
if($(this).val().length == 0) {
alert('Пожалуйста, заполните все поля!');
alright = false;
return false;
}
});
if (alright == true) {
$.ajax({
type: "POST",
url: "php/mail.php",
data: $(this).serialize()
}).done(function() {
alert("Ваше сообщение успешно отправлено!");
$("#fb-form").trigger("reset");
});
}
});
Если я отправляю такое письмо:
Имя: qqqq
E-mail: qqqq@gmail.com
Текст: Просто письмо
оно приходит.
Если такое:
Имя: qqqq
E-mail: qqqq@gmail.com
Текст: Тестовое письмо
оно НЕ приходит. Почему так?
Кажется, ему не нравится слово "Тестовое". Если написать так:
Имя: qqqq
E-mail: qqqq@gmail.com
Текст: Тестовое Тестовое Тестовое Тестовое
оно тоже не придет. Не могу понять, в чем проблема.