Поведение функций зависит от установок в файле php.ini.
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| mail.add_x_header | "0" | INI_PERDIR |
|
| mail.mixed_lf_and_crlf | "0" | INI_SYSTEM|INI_PERDIR |
Опцию добавили в PHP 8.2.4 |
| mail.log | NULL | INI_SYSTEM|INI_PERDIR |
|
| mail.force_extra_parameters | NULL | INI_SYSTEM|INI_PERDIR |
|
| SMTP | "localhost" | INI_ALL |
|
| smtp_port | "25" | INI_ALL |
|
| sendmail_from | NULL | INI_ALL |
|
| sendmail_path | "/usr/sbin/sendmail -t -i" | INI_SYSTEM |
Краткое разъяснение конфигурационных директив.
mail.add_x_header
bool
Добавляет заголовок X-PHP-Originating-Script
с UID скрипта и названием файла.
mail.log
string
Путь к лог-файлу для записи вызовов функции mail().
Записи в логе содержат полный путь до скрипта, номер строки, адрес получателя
To и заголовки.
mail.mixed_lf_and_crlf
bool
Директива возвращает разделение строк в заголовках и теле сообщений электронной почты символом LF (Line Feed). С включённой директивой ядро имитирует поведение PHP 7, которое не соответствовало стандарту в части перевода строк. Директиву ввели в целях совместимости PHP с конкретными почтовыми агентами (англ. Mail Transfer Agent, MTA), которые неправильно обрабатывают последовательность CRLF (Carriage Return + Line Feed) как разделитель строк в заголовках и содержимом сообщений электронной почты.
mail.force_extra_parameters
string
Директива принудительно добавляет заданные параметры как дополнительные аргументы для передачи в двоичный файл sendmail. Параметры заменяют значение пятого параметра функции mail().
Стандартное поведение режима инициализацииINI_SYSTEM
допускает установку значения для этой опции также через директиву php_value
файла httpd.conf, но так делать не рекомендуют.
SMTP
string
Опция работает только в ОС Windows: домен или IP-адрес SMTP-сервера, к которому обратится PHP при отправке почты функцией mail().
smtp_port
int
Опция работает только в ОС Windows: порт SMTP-сервера, к которому
обратится PHP при отправке почты функцией mail();
по умолчанию 25.
sendmail_from
string
Опция работает только в ОС Windows: адрес для заголовка "From:"
в письмах, которые отправляют напрямую через SMTP-сервер.
Директива также устанавливает заголовок "Return-Path:".
sendmail_path
string
Путь до программы sendmail, часто /usr/sbin/sendmail или /usr/lib/sendmail. Команда configure пытается найти почтовый агент sendmail и установить значение по умолчанию автоматически, но если у команды не получается, путь устанавливают через эту опцию.
Системам, которые не отправляют письма через агента sendmail, потребуется установить для этой директивы путь до обёртки или заменителя программы sendmail, если почтовая система содержит и предлагает такие альтернативы. Пользователи агента » Qmail, например, чаще устанавливают значение /var/qmail/bin/sendmail или /var/qmail/bin/qmail-inject.
Команда qmail-inject не требует дополнительных опций для отправки писем.
Директива также работает и в ОС Windows. При установке значения для директивы PHP проигнорирует опции smtp, smtp_port и sendmail_from и выполнит заданную команду.