@Sirex1337

Что делать если не отправляется письмо, хоть нету ошибок php?

Всем привет, столкнулся с такой проблемой, попытался отправить сообщение через функцию mail(), но почему-то не работает, ошибок нету. Все залито на хостинг " beget
$mail = "Kasach.Andrey123@mail.ru";
$message = "Сообщение письма";
if(mail($mail, "Order has been submitted successfully", $message)){
   echo "Письмо отправлено";
}else{
    echo "Ошибка";
}
"
Все время выводит "Письмо отправлено", но на почту ничего не приходит
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Во первых mail() возвращает фигню, которая вообще ни о чем:
Возвращает TRUE, если письмо было принято для передачи, иначе FALSE.
Важно заметить, что то что письмо было принято для передачи вовсе НЕ означает что оно достигло получателя.

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

Или взять нормальную библиотеку, например PHPMailer, настроить и пользоваться.
Ответ написан
anton_reut
@anton_reut
Начинающий веб-разработчик
Функция mail большинством хостеров блокируется по умолчанию
Ответ написан
@metajiji
Функция mail() вызывает sendmail, который должен быть настроен. Обычно это почтовый сервер, у которого есть локальная очередь и возможно настройки передачи сообщений другому серверу(релей с авторизацией).
И это довольно разумно, если удаленный почтовый сервер не доступен, то письмо будет жить в локальной очереди и ждать когда сервер сможет принять письмо. А отличие от phpmail и подобных вариант с локальной очередью на локальным релее выглядит довольно просто во всех отношениях. В противном случае вы либо будете терять письма, если smtp сервер не доступен, либо писать кодик про очереди, а тут уже привет kafka, gearman, rabbitmq, redis, nemcached и другие костыли :) тем временем простой mail() + postfix поднимается за пару команд.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 55 000 до 80 000 руб.
WACDAQ Москва
от 120 000 руб.
Paxport Москва
от 140 000 до 190 000 руб.