Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
}
});
}
});
});


В файле index.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>


И третий файл mail.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);
?>


Не могу понять где тут и что неправильно.
Ответ:
Возможно мой мозг спросонья что-то не так понял, но:
1. Вы отправляете из AJAX POST-параметр jsonData=...:
Сообщение от it-seo77
type:'POST',
data:'jsonData=' + $.toJSON(formData),
success: function() {
А принимаете в PHP notEmpty, phone и formData:
Сообщение от it-seo77
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 сервера в блэк-листах, например тут:
Вопрос: На почту не приходят письма с заявками отправленные через лендинг

Всем привет, не могу разобраться почему на почту с лендинга не приходят заявки.
Есть файл script.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 ();
                }
            }); 
        }
    });
});


В файле index.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>


И третий файл mail.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, да и вообще в программировании...
Столкнулся с проблемой, на сайте есть форма отправки заявки, после ее заполнения и отправки, письмо на электронную почту не приходит...
Будьте добры, подскажите, что не так в коде?
Заранее всем Вам огромное спасибо!

Код sender.php:
Code
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
<?php
    $Subject=$_POST['type'];
    $from = "noreply". $HTTP_HOST;
     
 
 
    $to="tomskremont1@mail.ru";
     
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8 \r\n";
    $headers .= "From: noreply <".$from.">\r\n";  
 
    $msg = '
        <p>   Имя: '.$_POST['name'].'</p>
        <p>   Телефон: '.$_POST['phone'].'</p>
    ';
 
    if(mail($to, $Subject, $msg, $headers))
    {
        echo "<span style='font-size:25px;color:blue;'><center>Сообщение успешно отправлено!</center><span><p><center>В ближайшее время с Вами свяжется наш менеджер. Благодарим за сотрудничество!</center></span>";
        echo "<meta http-equiv='refresh' content='2;URL=http://xn--e1ajfcfbenhhj.xn--p1ai/'>";
    }
    else
    {
        echo "Error : Email has not been sent.";
    }   
?>
Вот код формы отправки:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="form">
      <h3>Оставьте заявку на расчетстоимости ремонта по акции</h3>
      <!--<div class="free"></div>-->
      <form action="sender.php" method="POST">
        <input type="text"  class="finput nameinp sinp" name="name" placeholder="Введите имя">
        <input type="text"  class="finput phoneinp sinp" name="phone" placeholder="Введите телефон">
        <input type="hidden" class="adress" name="time" value="">
        <input type="hidden"  name="email" class="email" value="tomskremont1@mail.ru">
        <input type="hidden"  name="comment" value="None">
        <input type="hidden" name="type" value="Расчет стоимости ремонта по акции">
        <input type="hidden" value="F" name="button" id="senderid">
        <p>Ваши контактные данные в безопасности и не будут переданы третьим лицам</p>
        <input class="s_submit" type="button" value="Оставить заявку">
      </form>
    </div>
Ответ: Кстати, если верхнюю строчку в сендере удаляем, и пытаемся отправить сообщение, хостер говорит, что никаких действий на сервере не происходит

Добавлено через 13 минут
Azdeman, спасибо большое за помощь, все заработало!

код получился итоговый такой:

PHP
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
<?php
mail("tomskremont1@mail.ru", 'fwfwf', 'swswdw');
if (isset($_POST['Enter'])){
$Subject=$_POST['type'];
$from = "support@xn--e1ajfcfbenhhj.xn--p1ai". $HTTP_HOST;
 
 
 
$to="tomskremont1@mail.ru";
 
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: noreply <".$from.">\r\n"; 
 
$msg = '
<p> Имя: '.$_POST['name'].'</p>
<p> Телефон: '.$_POST['phone'].'</p>
';
 
if(mail($to, $Subject, $msg, $headers))
{
 
echo "<meta http-equiv='refresh' content='2;URL=http://xn--e1ajfcfbenhhj.xn--p1ai/'>";
}
else
{
echo "Error : Email has not been sent.";
} 
}
header('Refresh: 3; URL=http://xn--e1ajfcfbenhhj.xn--p1ai/');
?>
Вопрос: Форма обратной связи, на почту приходит пустое сообщение

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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if (isset($_POST['$name'])) {$contact_name = $_POST['$name'];}
if (isset($_POST['$email'])) {$contact_email = $_POST['$email'];}
if (isset($_POST['$subject'])) {$message = $_POST['$subject'];}
if (isset($_POST['$message'])) {$message = $_POST['$message'];}
 
$address = 'boicodjonn@mail.ru';
$sub = "Сообщение из 15-го выпуска рассылки";
$mes = "Автор назвался: $name \nУказал свой адрес: $email \nТема письма: $subject \nСодержание письма: $message";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else 
{
echo "<p>Сообщение не отправлено";
}
?>
... возможно нужно что-то где-то изменить или добавить... Подскажите пожалуйста, спасибо!
Ответ: Добрый день, посмотрите пожалуйста, у меня приходит пустое сообщение на почту, а во втором приходит какая то кодировка. Заранее спасибо

<?php $name = $_POST['name'];

$phone = $_POST['phone'];

$formcontent="От: $name \n Сообщение: $phone";

$recipient = "laetkot@mail.ru";

$subject = "Заявка с сайта";

$mailheader = "Отправитель: $name \r\n";

mail($recipient, $subject, $formcontent, $mailheader) or die("Ошибка!");

echo "Спасибо за заявку, мастер свяжется с Вами в течении 1 часа!";

?>
И второй php
<?if(isset($_POST["submit_tel"]))
{
$email = 'laetkot@mail.ru';
/* Отправляем email */
mail($email, "Заказ обратного звонка на сайте ...", "\n
Посетитель заказал обратный звонок! \n
Телефон : ".$_POST['tel']."
");
echo '<div class="cb">Заявка принята!';
}
?>
Вопрос: Не приходит письмо после отправки через форму на сайте.

Доброго времени суток Уважаемые форумчане!
Оговорю сразу, не силен в php, да и вообще в программировании...
Столкнулся с проблемой, на сайте есть форма отправки заявки, после ее заполнения и отправки, письмо на электронную почту не приходит...
Будьте добры, подскажите, что то возможно не так в коде?
Заранее всем Вам огромное спасибо!

Код sender.php:

<?php
$Subject=$_POST['type'];
$from = "noreply". $HTTP_HOST;



$to="tomskremont1@mail.ru";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: noreply <".$from.">\r\n";

$msg = '
<p> Имя: '.$_POST['name'].'</p>
<p> Телефон: '.$_POST['phone'].'</p>
';

if(mail($to, $Subject, $msg, $headers))
{
echo "<span style='font-size:25px;color:blue;'><center>Сообщение успешно отправлено!</center><span><p><center>В ближайшее время с Вами свяжется наш менеджер. Благодарим за сотрудничество!</center></span>";
echo "<meta http-equiv='refresh' content='2;URL=http://xn--e1ajfcfbenhhj.xn--p1ai/'>";
}
else
{
echo "Error : Email has not been sent.";
}
?>



Вот код формы отправки:

<div class="form">
<h3>Оставьте заявку на расчет<br>стоимости ремонта <br>по акции</h3>
<!--<div class="free"></div>-->
<form action="sender.php" method="POST">
<input type="text" class="finput nameinp sinp" name="name" placeholder="Введите имя">
<input type="text" class="finput phoneinp sinp" name="phone" placeholder="Введите телефон">
<input type="hidden" class="adress" name="time" value="">
<input type="hidden" name="email" class="email" value="tomskremont1@mail.ru">
<input type="hidden" name="comment" value="None">
<input type="hidden" name="type" value="Расчет стоимости ремонта по акции">
<input type="hidden" value="F" name="button" id="senderid">
<p>Ваши контактные данные в безопасности <br>и не будут переданы третьим лицам</p>
<input class="s_submit" type="button" value="Оставить заявку">
</form>
</div>
Ответ:
Спроси у хостеров, включена ли функция mail

попробуй замени 11 строчку на это
 $headers .= "From: noreply <myemail@mail.ru>\r\n"; 


или на это

 $headers .= "From: myemail@mail.ru\r\n"; 


Потому что у тебя получается

 $headers .= "From: noreply <noreplymysite.com>\r\n"; 


не уверен насколько это важно, но думаю что может быть причиной