1Frosty
@1Frosty
Познаю новое

Не отправляемся форма E-Mail. Как исправить?

Доброго времени суток. Есть форма (модальное окно) сообщения для отправки E-Mail. но оно по какой-то причине не работает. Сижу уже несколько часов не пойму, в чём проблема. Подскажите пожалуйста.

Форма html:
<form id="contact-form" action="mail.php" method="post" name="mail" role="form">
            <div class="form-group">
                <label class="control-label">Имя / Компания <span class="required">*</span></label><div>
                    <input maxlength="250" name="namecompany" id="namecompany" class="form-control" placeholder="Ваше Имя или название Компании.." type="text" required/>
                <p id="ContactForm_phone_em_" style="display:none" class="help-block"></p></div></div>
                <div class="form-group"><label class="control-label">E-Mail <span class="required">*</span></label><div>
                    <input maxlength="250" name="email" id="email" class="form-control" placeholder="Адрес электронной почты.." type="email" required/>
                <p id="ContactForm_email_em_" style="display:none" class="help-block"></p></div></div>
                    <div class="form-group"><label class="control-label">Телефон</label><div>
                    <input maxlength="250" name="phone" id="phone" class="form-control" placeholder="Номер Вашего телефона.." type="text" />
                <p id="ContactForm_website_em_" style="display:none" class="help-block"></p></div></div>

            <input type="hidden" name="formData" value="Главная форма">
			<div class="text-center">
				<button id="c-submit"  class="btn btn-primary" type="submit"><span>Отправить</span></button></div>
			</form>

И код php
<?php
ini_set("display_errors",1);
error_reporting(E_ALL);

$to      = "mail@mail.ru";
$subject = $_POST['formData'];
$headers = 'From: откуда@приходят.ru' . "\r\n" .
           'Reply-To: кому@отвечать.ru' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();
            
$message = "<b>".$_POST['formData']."</b><br>\r\n"; 
$message .= "<b>Имя пославшего:</b> ".$_POST['namecompany']."<br>\r\n";
$message .= "<b>Телефон:</b> ".$_POST['phone']."<br>\r\n";  
$message .= "<b>Почта:</b> ".$_POST['email']."<br>\r\n";

if(!empty($_POST['question'])) {
    $message .= "<b>Вопрос:</b> ".$_POST['question']."<br>\r\n";
}           

if (mail ($to, $subject, $message, $headers))
{
    $path = "http://".$_SERVER['HTTP_HOST']."/thanks.php";// редирект на благодарочку.
	//echo $path;
    //setcookie('thx',1);
    header("Location: ".$path);
}
else
{
    echo 'error!';
}
?>

В итоге перемещаюсь на страницу mail.php с белым экраном (не ошибок, ничего нет), сообщение на почту не доходит. Подскажите пожалуйста в чём проблема ?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
PavelMonro
@PavelMonro
Вместо первых двух строчек вставить:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

Не может быть без ошибок просто белый экран
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽