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

PHP получает EHLO для функции mail () от nginx server_name - ошибка

Я использую nginx с регулярным выражением внутри имени виртуального хоста, чтобы уловить имя поддомена и работать с ним позже:

server_name ~^(?<subdir>(\\w|\\-)*)(\\.)?(domain\\.org)$;

Я обнаружил, что функция mail () в PHP (работающая как FPM из nginx) не отправляет электронные письма.

Я просмотрел журналы exim и нашел следующее:

2019-03-27 20:51:56 rejected EHLO from [127.0.0.1]: syntactically invalid argument(s): ~^(?<subdir>(\\w|\\-)*)(\\.)?(domain\\.org)$

Конечно, это неверный EHLO. Похоже, PHP получает это от nginx. Но я не нашел способа, как это контролировать (кроме изменения имени виртуального хоста). Я использую этот параметр конфигурации в PHP:

sendmail_path="/usr/sbin/exim -t -i -f info@domain.org"

Отключение проверок в exim, вероятно, не лучшая идея.

Спасибо

Решение заключалось в том, чтобы явно установить SERVER_NAME в конфигурации nginx:

fastcgi_param SERVER_NAME domain.org;