X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> На почту не приходят письма с заявками отправленные через лендинг
it-seo77
it-seo77
Topic Starter сообщение 22.12.2016, 13:32; Ответить: it-seo77
Сообщение #1


Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.js в нём есть такая часть содержимого.

[JS]function clearForm () {
$(this).removeClass('valid-for-file-upload');
$('input:not(":checkbox"), textarea, select').val('');
$('.form-group').removeClass('has-success').removeClass('has-error');
formtype = '';
};
$thisText = $(this).text();
$thisBtn.addClass('disabled').text('Отправка...')

$.ajax({ //отправляем аяксом
url:'php/mail.php',
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
$('.submit-form-loading').fadeOut();
$('.submit-form-error').fadeOut();
magnificPopup.close();
setTimeout(function() {
$('.thank-you-btn').magnificPopup({
type: 'ajax',
removalDelay: 500,
ajax: {
settings: null,
cursor: 'mfp-ajax-cur',
tError: '<a href="%url%">Контент</a> не может быть загружен.',
},
callbacks: {
beforeOpen: function() {
this.st.mainClass = 'mfp-zoom-in';
},
},
midClick: true
}).magnificPopup('open');
}, 501);
$thisBtn.removeClass('disabled').text($thisText);
clearForm ();
reachGoalFunc(yaTarget);
reachGoalFunc(obwee_koli4estvo);

},
error: function() {
alert('При отправке данных произошла ошибка, попробуйте снова.');
$thisBtn.removeClass('disabled').text($thisText);
clearForm ();
}
});
}
});
});
[/JS]

В файле index.php следующая часть кода:

[PHP]<div class="buy-one-click">
<div class="container">
<div class="section-title">
<h3>Продайте всего за 1 клик!</h3>
</div>
<a href="modal-service1.html" class="ajax-popup-link btn btn-success" style="text-transform: none; padding: 20px 20px 20px 40px; width:300px; margin:10px auto 0; display:block; line-height: 0.8;position:relative; font-size:22px;"><img src="img/arrow-right.png" style="position:absolute; top:21px;left:53px;">Оставить
заявку</a>

</div>
[/PHP]

И третий файл mail.php

[PHP]<?php
if (isset($_POST['notEmpty'])) {$name = $_POST['notEmpty'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['formData'])) {$formData = $_POST['formData'];}

$to = "online@yandex.ru"; /*Укажите адрес, га который должно приходить письмо*/
$sendfrom = "online@yandex.ru"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/
$headers = "From: " . strip_tags($sendfrom) . "\r\n";
$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$subject = "Новая заявка";
$message = "$formData<br> <b>Имя пославшего:</b> $name <br><b>Телефон:</b> $phone<br>";
$send = mail ($to, $subject, $message, $headers);
?>
[/PHP]

Не могу понять где тут и что неправильно.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 23.12.2016, 18:02; Ответить: Art Lev
Сообщение #2


Очень много лишнего кода. Из формы берите поля, затем $.post передавайте в скрипт (не забыв использовать trim() и strip_tags()), после чего формируете php mail.
Кстати, при отправке, проверьте, что вам возвращает функция mail(), если 0, то дело в сервере, если 1, то всё должно работать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dmitrii_hb
Dmitrii_hb
сообщение 29.12.2016, 9:24; Ответить: Dmitrii_hb
Сообщение #3


Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
(it-seo77 @ 22.12.2016, 16:32) *
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {


А принимаете в PHP notEmpty, phone и formData:
(it-seo77 @ 22.12.2016, 16:32) *
if (isset($_POST['notEmpty'])) {$name = $_POST['notEmpty'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['formData'])) {$formData = $_POST['formData'];}


2. Откуда вы в JS берёте formData? До того момента, как он указывается в data AJAX'а, он нигде не появляется.

3. Если AJAX проходит (о чём можно судить, если выполняются действия в случае успеха, описанные после success:), то письмо должно уйти, но если вы напутали с переменными, то должен прийти текст: " Имя пославшего: Телефон: ". Если письмо вообще не отправляется, то либо где-то напортачили с самим AJAX'ом, в результате чего тупо не производится запрос к файлу mail.php (откройте консоль по F12 и смотрите на наличие ошибок при отправке), либо нет технической возможности отправить письмо функцией mail(). Другое дело – если письмо отправляется, но не доходит. Тогда надо посмотреть на наличие IP сервера в блэк-листах, например тут: http://mxtoolbox.com/blacklists.aspx

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыBropush - Твой бро в монетизации через Push-уведомления
28 bropush 11192 Вчера, 12:52
автор: bropush
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1925 23.3.2024, 7:41
автор: Room
Открытая тема (нет новых ответов) XMLSeo - поисковая выдача Яндекс, Wordstat, Google, Bing, DuckDuckGo через API
0 Malpertu36 1533 25.12.2023, 19:34
автор: Malpertu36
Открытая тема (нет новых ответов) Продвижение сайта через краудинг с поддержкой
Полный комплекс мер по продвижению сайта
0 alexey 987 22.8.2023, 16:33
автор: alexey
Открытая тема (нет новых ответов) Куплю группы ВК - только через гаранта
1 robot_yaga2 864 30.5.2023, 16:51
автор: GlazAlmaz


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:13
Дизайн