@freelancepro

Форма не отправляет письмо в чем причина и как её решить?

Всем привет!
Хочу сделать форму обратной связи с темой для каждого письма, первая форма с id modal-order - отправляет письмо, далее создаю формы с id modal-order2 и т.д. письма не приходят, подскажите, пожалуйста, в чем проблема и как её решить? Заранее спасибо!

Ниже приведён пример проблемной формы обратной связи:

<div id="modal-order2" class="modal fade" role="dialog">
    <div class="modal-dialog call_modal">
        <div class="modal-content">
            <form id="form-order">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">×</button>
                    <h4 class="modal-title">Оформить заказ</h4>
                    <p class="after-modal-title text-center">Оставьте свои данные и наши менеджеры свяжутся с вами для уточнения деталей</p>
                </div>
                
                <div class="modal-body">
                     <input name="tema" type="hidden" value="Электротали"/>
                    <div class="form-group">
                        <input type="text" name="name" class="form-control" placeholder="Ваше имя" required>
                    </div>
                    <div class="form-group">
                        <input type="email" name="email" class="form-control" placeholder="Ваш E-mail" required>
                    </div>
                    <div class="form-group">
                        <input type="text" name="phone" class="form-control phone-mask" placeholder="+7 (999) 999-99-99" required>
                    </div>
                    <input type="hidden" name="formData" value="Оформление заказа">
                    <button type="submit" class="btn main-btn form-btn">Перезвоните мне</button>
                </div>
            </form>
        </div>
    </div>
</div>

js

$("form").submit(function () {
        var formID = $(this).attr('id');
        var formNm = $('#' + formID);
        $.ajax({
            type: "POST",
            url: 'mail.php',
            data: formNm.serialize(),
            success: function (data) {
                $('.modal').modal('hide');
                $('body').css('padding-right','0');
                $('#modal-thank').modal('show');
            },
            error: function (jqXHR, text, error) {
                $(formNm).html(error);
            }
        });

php

<?php
	$Subject=$_POST['tema'];
    $from = "user". $HTTP_HOST;
	


	$to="info@mail.ru";
	
	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=utf-8 \r\n";
	$headers .= "From: Заявка с сайта <".$from.">\r\n"; 	

	$msg = '
	    <p>	Тема: '.$_POST['tema'].'</p>
		<p>	Имя: '.$_POST['name'].'</p>
		<p>	Почта: '.$_POST['email'].'</p>
		<p>	Телефон: '.$_POST['phone'].'</p>
		
	';
	if(mail($to, $Subject, $msg, $headers))
	{
		echo "<span style='font-size:25px;'><center>Сообщение успешно отправлено!</center></span>";
		echo "<meta http-equiv='refresh' content='1;URL=/'>";
	}
	else
	{
		echo "Error : Email has not been sent.";
	}	
?>
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
Поменяйте также id у второй формы
<form id="form-order">
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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