Назад | Перейти на главную страницу

Задержка при использовании функции PHP mail () для отправки электронной почты через Exchange (с использованием sendmail в качестве ретранслятора)

Я использую функцию PHP mail () для отправки электронной почты с сервера Linux, но использую Exchange в качестве основного MTA. Для достижения этой цели sendmail был настроен на ретрансляцию всего на локальный сервер Exchange, который затем отправляет электронные письма.

Это работает правильно, но скрипт PHP, кажется, дожидается времени ожидания перед завершением. Я подумал, может быть, он ждет ответа от sendmail, который не приходит и становится просто ретранслятором?

Я указал параметр командной строки php.ini для «sendmail_path» -odb, который должен запускать sendmail в «фоновом» режиме доставки, то есть запускать электронные письма в отдельном процессе и затем немедленно возвращаться. Но для завершения PHP-скрипта по-прежнему требуется 30 секунд.

У кого-нибудь есть идеи? Я немного озадачен. Спасибо.

Можете ли вы установить пакет mailx и посмотреть, возникнет ли такая же задержка при использовании команды mail?

echo foo | mail you@you.com

Если это так, то вы знаете, что это проблема sendmail, которая часто возникает из-за того, что вам нужно настроить имя хоста + доменное имя на машине.