mark_edinoroglove
@mark_edinoroglove

Почему не отправляется письмо на почту?

есть код
$hash = md5(strtolower($data["reg_mail"]) . time());
$headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=utf-8\r\n";
        $email = strtolower($data["reg_mail"]);
        $headers .= "To: <$email>\r\n";
        $headers .= "From: <plumbear@plumbear.ru>\r\n";
        // Сообщение для Email
        $message = '
                <html>
                <head>
                <title>Подтвердите Email</title>
                </head>
                <body>
                <p>Что бы подтвердить Email, перейдите по <a href="http://plumbear.metrostroimillenniumserver.ru/?hash=' . $hash . '">ссылка</a></p>
                </body>
                </html>
                ';
        // проверяет отправилась ли почта
        if (mail(strtolower($data["reg_mail"]), "Подтвердите Email на PLUMBEAR", $message, $headers)) {
            include Base::PathTPL("header");
			include Base::PathTPL("auth/email");
			include Base::PathTPL("footer");
        }

когда срабатывает код, письмо в итоге не отправляется, ошибок на стороне php нет, подскажите что не так?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@easycode
не боюсь задавать глупые вопросы ))
Может не мучится и сразу заюзать какой-нибудь phpMailer или swiftMailer с отправкой письма через реальный почтовый сервер по протоколу SMTP ? - так и меньше проблем с попаданием письма в СПАМ будет!

p.s.: код отправки письма лучше вынести в отдельную функцию или метод класса ( не знаю Вашего контекста ) - а то сразу глаза режет:
if (mail(strtolower($data["reg_mail"]), "Подтвердите Email на PLUMBEAR", $message, $headers)) {
            include Base::PathTPL("header");
      include Base::PathTPL("auth/email");
      include Base::PathTPL("footer");
        }

жесткий замес )))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы