Функция PHP mail () не возвращает истину или ложь - время ожидания скрипта истекло - PullRequest
0 голосов
/ 09 января 2012

Функция php mail перестала работать на сервере Centos 5.7. Сценарии, содержащие вызов функции, работали на этом сервере до последних двух дней, но не было никаких изменений конфигурации ..

Всякий раз, когда я вызываю функцию mail (), PHP-скрипт просто останавливается / останавливается в этой строке, пока не достигнет предела времени ожидания скрипта.

$msgheader  = 'MIME-Version: 1.0' . "\r\n";
$msgheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$msgheader .= "From: Test Name <no-reply@servername.com>\r\n";

echo "About to send mail ->";
mail ("test@servername.com", "Test Subject", "Test Body", $msg_header);
echo "Script never reaches this line!";

Я изменил адреса электронной почты для этого вопроса, но я знаю, что они не являются проблемой, поскольку скрипт выполнялся правильно ранее.

Я пытался изменить адрес электронной почты для различных личных учетных записей (например, @ yahoo.com), и он все еще не работает, поэтому я не думаю, что это связано с фильтрацией спама в организации, где проживают мои пользователи.

Что может вызывать зависание почтовой функции до истечения времени ожидания сценария, а не просто возвращать false, если не удается отправить электронное письмо? Какие настройки я могу посмотреть?

Спасибо!

EDIT:

  • В журналах ошибок Apache нет ошибок
  • php.ini имеет:

    SMTP = localhost; smtp_port = 25; sendmail_path = / usr / sbin / sendmail -t -i

1 Ответ

0 голосов
/ 09 января 2012

Эта проблема была связана с проблемой с настройками DNS сервера.

После попытки:

yum update

стало ясно, что на сервере возникла проблема с подключением к Интернету. Это объясняет длительные тайм-ауты попыток установить исходящее соединение для отправки электронного письма.

Я должен был добавить

search localdomain

в мой файл /etc/resolv.conf в CentOS, чтобы установить исходящее соединение. Этот вопрос лучше опубликовать на ServerFault теперь, когда я знаю эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...