Volgarastraport
@Volgarastraport

Почему PHP функция mail() не работает на сервере?

Простейший скрипт.
// Send email
  if (mail($mail_to, $subject, "", $header)) {
    echo "Sent";
  } else {
    echo "Error";
  }

Все время выдает ошибку. Вроде бы сервер нормально настроили, все пакеты поставили, пути проверили, а не работает.
Практически такой же сервер нормально работает с mail().

Что проверить? На что обратить внимание? Что обновить?
  • Вопрос задан
  • 35388 просмотров
Пригласить эксперта
Ответы на вопрос 4
magalex
@magalex
Архитектор распределённых систем управления
Проверьте работает ли вообще функция mail на сервере:
echo "Testing" | mail -s "Test" test@example.com

Проверьте установлена ли почтовая служба: sendmail, postfix или другая.
Проверьте запущена ли почтовая служба.

Для sendmail/postfix проверьте настройки в php.ini:
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/sbin/sendmail -t -i"


Проверьте в php.ini не внесена ли функция mail в список запрещённых функций:
disable_functions
Ответ написан
@slavabars
Веб программист
Проверь, включена ли функция.
Ответ написан
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
а локальный SMTP server имеется?
если в *NIX можно с консоли проверить
echo “Test Mail” | mail -s “Hello world” you@domain.com
Ответ написан
Комментировать
Hostwell
@Hostwell
больше всего в целях безопасности отключена в php.ini через disable_functions
Ответ написан
Ваш ответ на вопрос

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

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