Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > php mail() не работает


Автор: vov4eg 21.9.2012, 01:45
Привет, всем.

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

Проблема вся в том что письма приходят но где то одно из 20.

Я думал это как то связано с тем что я вносил изменения в скрипт и начал отлавливать при изменении каких строчек кода письма начинают приходить. 
После каждого небольшого изменения я проверял отправку писем, и когда нашел вариант при котором письмо было доставлено я остановился но повторно отправить письмо не удалось.

Никаких ошибок скрипт не выдает.

Код

<?php
$goto_after_mail = "form.html"; // page the form jumps to after submission - thank you page
$from_mail = $_REQUEST['Email'];
$from_name = $_REQUEST['Name']; // use both values from your form
$header = "From:  \"$from_name\"<$from_mail>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$subject = "website".date("d-m-Y"); //your mail subject line and date
foreach ($_REQUEST as $key => $val) {
if ($key != "from_email" && $key != "from_name") { //skip, this values are already in the header
    $body .= $key . " : " . $val . "\r\n";
}
}
$send_to = '[email protected]';
if (mail($send_to, $subject, $body, $header)) { //Set the your email address here
    header("Location: ".$goto_after_mail);
}
?>


Начинаю задумываться о том чтобы написать этот скрипт с нуля...

Автор: Guedda 22.9.2012, 10:34
Когда я сталкивался с подобной проблемой, то выяснил, что днс того сайта, который рассылал письма, попал в черный список спам-рассыльщиков. Так что попробуйте посмотреть, во-первых, письма в папке SPAM, а потом прочекать свой DNS в списках спам-рассыльщиков.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)