Простая форма отправки почты
Добрый день всем.
Прошу помочь немного доделать скрипт отправки почты: php: <?php $recepient = "почта получателя"; $sitename = "название сайта"; $name = trim($_POST["name"]); $phone = trim($_POST["phone"]); $message = "Имя: $name \nТелефон: $phone"; $pagetitle = "Новая заявка с сайта \"$sitename\""; mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient"); ?> javascript: $(document).ready(function() { $("#form").submit(function() { $.ajax({ type: "POST", url: "php/mail.php", data: $(this).serialize() }).done(function() { $(this).find("input").val(""); alert("Спасибо за заявку! Скоро мы с вами свяжемся."); $("#form").trigger("reset"); }); return false; }); }); html: <form id="form"> <input type="text" pattern="^[А-Яа-яЁё\s]+$" name="name" placeholder="Как вас зовут" id="bottom_form_name" name="name" class="form_name" required /> <input type="text" pattern="[0-9]{5,11}" name="phone" placeholder="Ваш телефон" id="bottom_form_phone" name="phone" class="form_phone" required /> <button class="button"></button> </form> Вопрос: 1. После отправки данных, почему то не выводится никакого сообщения, хотя в js вывод присутствует. Хотя бы тултипа хватило бы, мол, ваше сообщение отправлено. 2. Если ставить форму ниже шапки, то после отправки данных обязательно перекинет вверх страницы. 3. Никак не могу добавить адрес/имя отправителя письма. В итоге приходит адрес хостинга. |
pattern="^[А-Яа-яЁё\s]+$" - это удобно, но не отменяет правила - сервер обязан проверять данные пришедшие извне, не важно проверялись они на клиенте или нет.
$pagetitle = "Новая заявка с сайта \"$sitename\""; - так не пойдет, кодировать нужно тему сообщения, иначе не обязательно почтовый сервер или клиент пришлет ее в читаемом виде. Цитата:
mail('sample@mail.ru', 'subj', 'msg', 'headers', '-finf@my.ru') Но это будет работать, если пользователь добавлен в доверенные в конфигурации sendmail. Иначе обращайтесь в техподдержку. |
Часовой пояс GMT +3, время: 03:04. |