Всем привет. Нужна помощь.
К сведению:
Есть сайт, написан полностью на
html, хостер
e-planet, php
5.2.17, форма на сайте одна.
Вопрос:
Поставил форму обратной связи, но она не работает. Почему? Ошибка в коде? Или хостер шалит?
Форма:<form class="mktoForm" id="feedback-form" method="POST" name="landingForm" onSubmit="createLead(); return false" action="http://www.сайт.ru">
<div class="form-row">
<input type="hidden" name="formData" value="Форма обратной связи с сайта www.сайт.ru">
<div class="form-group col-lg-6">
<label for="recipient_name" class="col-form-label">Представьтесь, пожалуйста</label>
<input type="text" class="form-control" name="name" id="recipient_name" placeholder="Иванов Иван Игоревич" required="required" autocomplete="on">
</div>
<div class="form-group col-lg-6">
<label for="recipient-phone" class="col-form-label">Телефон</label>
<input type="text" class="form-control" name="phone" id="recipient_phone" placeholder="+7" required="required" autocomplete="on">
</div>
<div class="form-group col-md-12">
<label for="recipient_mail" class="col-form-label">Email</label>
<input type="text" class="form-control" name="mail" id="recipient_mail" placeholder="example@mail.ru" required="required" autocomplete="on">
</div>
<div class="form-group col-md-12">
<label for="recipient_message" class="col-form-label">Текст обращения</label>
<textarea class="form-control message" name="message" id="recipient_message" placeholder="Введите сообщение" required="required"></textarea>
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-danger uppercase bold mx-2 my-1">Отправить сообщение</button> <button type="button" class="btn btn-danger uppercase bold mx-2 my-1" onclick="form.reset()">Очистить</button>
</div>
</form>
Обработчик:document.getElementById('feedback-form').addEventListener('submit', function(evt) {
var http = new XMLHttpRequest(),
f = this;
evt.preventDefault();
http.open("POST", "feedback.php", true);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send("name=" + f.name.value + "&mail=" + f.mail.value + "&phone=" + f.phone.value + "&message=" + f.message.value);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
document.getElementById("form_contact").innerHTML = "<div id='okform' class='text-center'><p style='font-size:1rem'>Спасибо за отправку вашего сообщения! <br>Наши специалисты свяжутся с вами в течение часа.</p><div class='ksadake'><svg viewbox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'><path d='M 18 32.34 l -8.34 -8.34 -2.83 2.83 11.17 11.17 24 -24 -2.83 -2.83 z' stroke='#3da35a' fill='transparent'/></svg></div></div>";
f.message.removeAttribute('value');
f.message.value = '';
}
}
http.onerror = function() {
document.getElementById("form_contact").innerHTML = "<div id='errform' class='text-center'><p style='font-size:1rem'>Ошибка. Сообщение не отправлено! Проверьте правильность введенных данных</p><div class='ksadake'><svg id='psfmje' width='12' height='12' viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><defs><linearGradient x1='0%' y1='0%' x2='100%' y2='100%' id='linearGradient-1'><stop stop-color='#DD5497' offset='0%'></stop><stop stop-color='#F9BDAA' offset='100%'></stop></linearGradient></defs><g stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g transform='translate(-1022.000000, -5316.000000)' fill='url(#linearGradient-1)' id='Pricing-Guide'><g transform='translate(150.000000, 4786.000000)'><path d='M880.058875,536 L884,539.941125 L881.941125,542 L878,538.058875 L874.058875,542 L872,539.941125 L875.941125,536 L872,532.058875 L874.058875,530 L878,533.941125 L881.941125,530 L884,532.058875 L880.058875,536 Z' id='Combined-Shape-Copy-6'></path></g></g></g></svg></div></div>";
}
}, false);
PHP:<?
if (array_key_exists('message', $_POST)) {
$to = 'кому@mail.ru';
$subject = 'Заявка с сайта '.$_SERVER['HTTP_REFERER'];
$subject = "=?utf-8?b?". base64_encode($subject) ."?=";
$message = "Имя: ".$_POST['name']."\nEmail: ".$_POST['mail']."\nТелефон: ".$_POST['phone']."\nIP: ".$_SERVER['REMOTE_ADDR']."\nСообщение: ".$_POST['message'];
$headers = 'Content-type: text/plain; charset="utf-8"';
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Date: ". date('D, d M Y h:i:s O') ."\r\n";
mail($to, $subject, $message, $headers);
echo $_POST['name'];
}
?>
Ставил на тестовый поддомен тест.сайт.ру, форма работала, письма отправляются - приходят. Поставил на основной сайт - теперь, после нажатия на кнопку появляется соответствующая галочка отправки,
но письмо не доходит до адресата. Полагаю, что застревают где-то на сервере. Но как это отследить хз. Скажите, в чем может быть проблема и как можно ее решить? Пришлось поставить другую форму, которую использую на другом сайте, но она тоже не работает. Форма отличается от других только формой уведомления о не/успешной отправке.
Backend'ер спрашивает, какую учетку я использую для отправки писем. Логин/пароль/почтовый сервер. Как их узнать, если в этих файлах я ничего не прописываю?