bootd
@bootd
Гугли и ты откроешь врата знаний!

Почему может не приходить письмо с сайта?

Доброе утро! У меня есть простая функция для отправки письма.
Выглядит так:
<?
    if((isset($_POST['orderHatchName']) && $_POST['orderHatchName'] != "" ) && 
        (isset($_POST['hatchWidth']) && $_POST['hatchWidth'] != "") && 
        (isset($_POST['hatchHeight']) && $_POST['hatchHeight'] != "") && 
        (isset($_POST['orderCity']) && $_POST['orderCity'] != "") && 
        (isset($_POST['orderUserTel']) && $_POST['orderUserTel'] != "") && 
        (isset($_POST['orderUserEmail']) && $_POST['orderUserEmail'] != "")
    ){ 
        $to = 'mail@yandex.ru';
        $subject = 'Запрос на расчет стоимости люка';
        $message = '
            <table width="100%" border="1" style="border: 1px solid #ccc; table-layout: fixed;">
                <thead>
                    <tr>
                        <th style="padding: 10px;">Название люка</th>
                        <th style="padding: 10px;">Длина</th>
                        <th style="padding: 10px;">Высота</th>
                        <th style="padding: 10px;">Город</th>
                        <th style="padding: 10px;">Телефон</th>
                        <th style="padding: 10px;">Email</th>
                    </tr>
                </thead>

                <tbody>
                    <tr>
                        <td align="center" style="padding: 10px;">'.$_POST['orderHatchName'].'</td>
                        <td align="center" style="padding: 10px;">'.$_POST['hatchWidth'].'</td>
                        <td align="center" style="padding: 10px;">'.$_POST['hatchHeight'].'</td>
                        <td align="center" style="padding: 10px;">'.$_POST['orderCity'].'</td>
                        <td align="center" style="padding: 10px;">'.$_POST['orderUserTel'].'</td>
                        <td align="center" style="padding: 10px;">'.$_POST['orderUserEmail'].'</td>
                    </tr>
                </tbody>
            </table>
        ';

        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
                
        if(mail($to, $subject, $message, $headers)){
            mail($to, $subject, $message, $headers);

            echo 'success';
        }

    } else {
        echo 'fail';
    }
?>


Отправляю я данные через ajax(а как же еще). И все хорошо, мне приходит success, а значит письмо отправилось, верно? Но оно не приходит. Ни в спаме нигде его нет. Я уже голову сломал! Какие могут быть причины для этого?
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 4
romy4
@romy4
Exception handler
> мне приходит success, а значит письмо отправилось, верно?
не верно. это значит, что скрипт вернул success, а отправилось письмо или нет — смотрите в логах, дебажте
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
Смотрите логи вашего почтового сервера.
Ответ написан
@lexchz
Как вариант, сменить версию PHP на хостинге. У меня так было, при версии 5.2 письмо на почту не приходило, а когда поменял на 5.5, всё стало нормально.
Ответ написан
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
А вы скрипт случаем не на локальном сервере запускаете? Может, у вас просто все сообщения перехватываются и в папку куда-то сохраняются?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы