Использование функции mail () вызывает 504 тайм-аут шлюза в Nginx

Я только что установил php, mysql, nginx, sendmail на debian 6.

Теперь страницы PHP работают нормально. Но когда я пытаюсь использовать простой тест mail() :

Пример: mail($to, $sub, $msg)

это занимает слишком много времени, чтобы закончить (около 30 + секунд), затем получить I 504 Gateway Time-out в моем браузере.

Забавно, что письмо действительно отправлено.

BTW – это ошибка из журнала: upstream timed out (110: Connection timed out) while reading response header from upstream

Кто-нибудь знает, что вызывает эту ошибку?

Похоже, проблема связана с возможностью подключения php к почтовому серверу. Вы проверили следующее:

Iptables отключен (или любой другой межсетевой экран, если на то пошло)

Отобразите следующее:

Sendmail cfg

и вывод следующей команды

netstat -punta (не назвав вас здесь;))

Я думаю, проблема в вашем sendmail. Я рекомендую установить Postfix вместо sendmail и настроить его в php.ini . Затем проверьте свою функцию mail() .

Также вы можете попробовать использовать sendmail напрямую, а не использовать почтовую функцию.