Настройка во время выполнения

Поведение функций зависит от установок в файле php.ini.

Конфигурационные опции отправки писем
Имя По умолчанию Место изменения Список изменений
mail.add_x_header "0" INI_PERDIR  
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  
Дополнительную информацию и определения режимов INI_* даёт раздел «Места установки параметров конфигурации».

Краткое разъяснение конфигурационных директив.

mail.add_x_header bool

Добавляет заголовок X-PHP-Originating-Script, который будет содержать UID скрипта и имя файла.

mail.log string

Путь к лог-файлу, в который будут записываться все вызовы функции mail(). Записи в логе содержат полный путь до скрипта, номер строки, адрес получателя To и заголовки.

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 и выполнит заданную команду.