Задать вопрос
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 с белым экраном (не ошибок, ничего нет), сообщение на почту не доходит. Подскажите пожалуйста в чём проблема ?
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
PavelMonro
@PavelMonro
Вместо первых двух строчек вставить:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

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

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

Похожие вопросы