Простой код:
mail("my_email@gmail.com", $subject, $text);
Он не отправляет электронную почту, но он все же возвращает TRUE. Что такое hapenning?
PS Даже если я добавляю заголовки, результат тот же!
с man-страницы для почты () :
Возвращает TRUE, если почта была успешно принята к доставке, в противном случае FALSE.
Важно отметить, что только потому, что почта была принята для доставки, это НЕ означает, что почта действительно достигнет предполагаемого адресата.
В принципе, вы ничего не можете сделать в простой PHP, если вы действительно не проверяете провод, чтобы узнать, что происходит. Я бы предложил использовать некоторую почтовую библиотеку, в которой есть некоторые указания на отправку почты или нет (если она существует)
Знаете ли вы, что письмо не отправляется? Электронная почта может перейти от вашего php-скрипта к вашему SMTP-серверу, но его можно удалить где-то между первым SMTP-сервером и gmail.
Попробуйте посмотреть сетевой трафик, чтобы убедиться, что электронная почта отправляется с использованием чего-то похожего на wirehark .
См. Комментарий @ Нила. Простое возвращение true
очень мало.
Вы должны проверить свой PHP.ini и убедиться, что ваши SMTP-серверы установлены правильно (если в Windows) или что ваш путь sendmail (Linux) верен. Оттуда проверьте конфигурацию sendmail.