Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
1

На почту не приходят письма

22.12.2016, 11:56. Просмотров 967. Ответов 14
Метки нет (Все метки)

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

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 ();
                }
            }); 
        }
    });
});

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

HTML5
1
2
3
4
5
6
7
8
9
<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>

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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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);
?>
Где тут могут быть ошибки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2016, 11:56
Ответы с готовыми решениями:

При отправке данных с формы на почту, из-за Jquery, там где type="password" приходят не символы, а "****"
&lt;!DOCTYPE html &gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt; ...

Отправка письма php. Письма со скрипта на локальном сервере (Denwer) не приходят на почту.
Доброго Времени Суток!!! Я запускаю Денвером php скрипт со следующим кодом &lt;?php $name=$_GET;...

Приходят пустые письма на почту
Приходит письма на почту но с пустыми полями: имя и телефон. Что необходимо добавить, чтобы...

Не все письма приходят на почту. spaceweb.ru
Работаю сисадмином в небольшом офисе. Один из сотрудников пожаловался, мол, не приходят письма от...

14
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 12:31 2
Пока читаю код, что говорит консоль? Есть ли ошибки, отправляются ли запросы?
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 12:33  [ТС] 3
Ошибки при отправки не возникают, выскакивает сообщение об успешной отправке:

СПАСИБО!
Ваша заявка получена.

В ближайшее время

мы с Вами свяжемся.
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 12:42 4
Тестируете локально или на хостинге?
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 12:43  [ТС] 5
Тестирую на Хостинге. Джойсон там в пхп включен, версия 5.6
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 12:48 6
Что возвращает mail() в переменную $send? Там true?
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 12:54  [ТС] 7
А где эту переменную посмотреть?У меня подозрения, что файл mail.php не корректно настроен. Может целый скрипт script.js выгрузить?
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 13:20 8
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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);
    echo $send;
?>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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(response) {
                    alert (response);
                    $('.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 ();
                }
            }); 
        }
    });
});
Что выведет alert?
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 13:37  [ТС] 9
В корне лежат следующие файлы html.

modal-thank-you.html
HTML5
1
2
3
4
5
6
7
8
<div class="white-popup mfp-with-anim">
    <div class="thank-you">
        <h4>Спасибо!</h4>
        <p>Ваша заявка получена.</p>
        <p>В ближайшее время</p>
        <p>мы с Вами свяжемся.</p>
    </div>
</div>
modal-callback.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="white-popup mfp-with-anim">
    <form data-type="Заказать обратный звонок" data-target="podborCallback" class="form">
        <div class="form-heading">
            <h4>Заказать обратный звонок</h4>
            <p>
                Оставьте контактные данные и<br>
                мы перезвоним в течение 10 минут.
            </p>
        </div>
        <div class="form-content">
            <div class="form-group">
                <input type="text" name="notEmpty" class="form-control name" placeholder="Ваше имя">
            </div>
            <div class="form-group">
                <input type="text" name="phone" class="form-control required phone" placeholder="Ваш телефон *">
            </div>
 
            <a href="#" class="submit btn btn-success">
                Заказ звонка
            </a>
        </div>
    </form>
</div>
modal-service1.html

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="white-popup mfp-with-anim">
    <form data-type="Выездная проверка автомобиля экспертом" data-target="podborService1" class="form">
        <div class="form-heading">
            <h4>Оставить заявку</h4>
            <p>
                Заполните форму и мы <br>
             перезвоним Вам в течение 15 минут.
            </p>
        </div>
        <div class="form-content">
            <div class="form-group">
                <input type="text" name="notEmpty" class="form-control name" placeholder="Ваше имя">
            </div>
            <div class="form-group">
                <input type="text" name="phone" class="form-control required phone" placeholder="Ваш телефон *">
            </div>
 
            <a href="#" class="submit btn btn-success">
                Оставить заявку
            </a>
        </div>
    </form>
</div>
При заполнении формы

HTML5
1
2
3
4
5
6
7
8
9
<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>

modal-service1.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="white-popup mfp-with-anim">
    <form data-type="Выездная проверка автомобиля экспертом" data-target="podborService1" class="form">
        <div class="form-heading">
            <h4>Оставить заявку</h4>
            <p>
                Заполните форму и мы <br>
             перезвоним Вам в течение 15 минут.
            </p>
        </div>
        <div class="form-content">
            <div class="form-group">
                <input type="text" name="notEmpty" class="form-control name" placeholder="Ваше имя">
            </div>
            <div class="form-group">
                <input type="text" name="phone" class="form-control required phone" placeholder="Ваш телефон *">
            </div>
 
            <a href="#" class="submit btn btn-success">
                Оставить заявку
            </a>
        </div>
    </form>
</div>
При вводе Имя и номера телефона выскакивают всплывающие сообщения от файла modal-thank-you.html содержащий информацию: Спасибо!Ваша заявка получена.В ближайшее время мы с Вами свяжемся.
И данное сообщение исчезает. При этом на почту ничего не приходит.
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 13:41 10
Замените свой код моим выше и скажите, что выдаст alert.
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 13:46  [ТС] 11
При замене кода Выскочило следующее сообщение:

Подтвердите действие на сайт.ру

1

Нажимая ок

Подтвердите действие на сайт.ру

1
Предотвратить создание дополнительных диалоговых окон на этой странице.
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 13:57 12
Значит письмо было успешно отправлено на почтовый сервер для отправки. Дальнейшая его судьба неизвестна. Проблему нужно искать не здесь, а, например, в конфигурации почтового сервера отправителя/получателя.
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
22.12.2016, 14:04  [ТС] 13
Пробовал менять почты на gmail на мэйлы на яндексе, всё равно никуда не долетает. Неясно, что может быть?
0
1201 / 926 / 421
Регистрация: 11.07.2016
Сообщений: 2,554
22.12.2016, 14:11 14
Возможно у вас не сконфигурирован почтовый сервер на вашем хостинге.
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 9
23.12.2016, 00:04  [ТС] 15
С хостингом вроде бы всё в порядке, может, из-за использования jsonData файл mail.php не правильно настроил?

Добавлено через 5 часов 26 минут
Может реально кто подскажет как правильно настроить mail.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    if (isset($_POST['notEmpty'])) {$name = $_POST['notEmpty'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
 
    $to = "vukup24online@yandex.ru"; /*Укажите адрес, га который должно приходить письмо*/
    $sendfrom   = "vukup24online@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);
?>
Добавлено через 3 часа 55 минут
Вставил так код приходит только следующее пустое значение, где нет отображения имени отправителя и номер телефона.

Имя отправителя:
Телефон:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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 = "=?UTF-8?B?".base64_encode($subject)."?=";
    $message = "$formData<br> <b>Имя отправителя:</b> $name <br><b>Телефон:</b> $phone<br>";
    $send = mail ($to, $subject, $message, $headers);
?>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2016, 00:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Письма с сайта не приходят на яндекс почту
Здравствуйте сделал второй в своей жизни сайт,но вот проблема не могу разобраться почему не...

Функция mail() - письма не приходят на почту
Всем привет. Делаю простенькую форму с отправкой на почту на сайте. Она аяксовая. Она вроде как...

На почту приходят письма в неверной кодировке
проблемы с кодировкой обработчика-приходят кракозябры на почту (что в обработчике на русском...

На почту не приходят письма с формы обратной связи
Проблема такая. Есть html код формы (на странице contacts.html) с этой страницы, если форма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.