@ValentinHabr

Не отправляется форма с сайта?

Не работает отправка формы. Открывается страница php, но на почту ничего не приходит. Версия php на хостинге 5.4

HTML
<form action="/submit.php" method="POST"> 
                            
				           <div class="col-md-4 col-sm-4 col-xs-12">
                                <input type="name" id="name" name="name" required>
						       <label for="name" class="name-label">Ваше имя:</label>
                            </div>
                               
                            <div class="col-md-4 col-sm-4 col-xs-12">    
                                <input type="tel" id="tel" name="tel" required> 
							   <label for="tel" class="tel-label">Телефон:</label>
                            </div>

                            <div class="col-md-4 col-sm-4 col-xs-12">     
                            <input type="submit" value="Отправить">
                            </div>
                         </form>


PHP
<?php
$recepient = "valentin.***@gmail.com";
$sitename = "Парк 1000 Узлов";
$name = trim($_POST["name"]);
$tel = trim($_POST["tel"]);

$subject = "Новая заявка с сайта \"$sitename\"";
$message = "Имя: $name \nТелефон: $tel";

mail($recepient, $subject, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 2
Max_Cohen
@Max_Cohen
Программист, который не программирует
Возможно такое, что у хостера есть правило: можно отправлять письма только от отправителя, который зарегистрирован в веб-почте хостинга. Т.е. сперва надо зарегистрировать пользователя почты. Например: no-reply@ваш_домен.com. Потом в заголовках отправляемой письма указать эти данные.

$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: NO-REPLY@ваш_домен.com' . "\r\n" .
    'Reply-To: NO-REPLY@ваш_домен.com' . "\r\n";

mail($to, $subject, $message, $headers);
Ответ написан
Комментировать
@mletov
Абстрагируйтесь пока от формы
Напишите что-то вроде:

mail("Ваш@email.ru", "test", "test");

Если на почту придет, то проблема в коде и хостер не при делах. Если не придет - пишите хостеру или лучше для начала почитайте FAQ на его сайте, наверняка там этот случай описан.

Ну и папку "Спам" у себя проверьте
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы