(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_send_mail — Отправка закодированного сообщения
$to
,$subject
,$message
,$additional_headers
= [],$additional_params
= null
Посылает сообщение электронной почты. Заголовки и сообщения преобразуются и кодируются в соответствии с настройкой mb_language(). Это обёртка для функции mail(), так что стоит ознакомиться и с описанием функции mail().
to
Электронные адреса получателей. Несколько адресов в аргументе
to
перечисляются через запятую. Значение
этого аргумента не кодируется автоматически.
subject
Тема письма.
message
Текст письма.
additional_headers
(необязательный)Строка или массив, вставляемые в конец заголовка письма.
Обычно используется для добавления дополнительных заголовков (From, Cc, и Bcc). Несколько дополнительных заголовков должны разделяться с помощью CRLF (\r\n). Проверяйте этот параметр, чтобы не допустить инъекции нежелательных заголовков.
Если передан массив, то его ключи будут именами заголовков, а значения соответствующими значениями заголовка.
Замечание:
При отправке письма, письмо обязано содержать заголовок
From
. Его можно задать с помощью параметраadditional_headers
или же через опцию в php.ini.Если этого не сделать, то это приведёт к сообщение об ошибке, примерно такого содержания:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing
. ЗаголовокFrom
также устанавливает и заголовокReturn-Path
в Windows.
Замечание:
Если письмо не доставалось, попробуйте использовать только LF (\n). Некоторые Unix почтовые агенты (в первую очередь » qmail) заменяют LF на CRLF автоматически (что приводит к дублированию CR при использовании CRLF). Это единственное решение, так как это поведение не соответствует » RFC 2822.
additional_params
Значением additional_params
является параметр
командной строки MTA. Он полезен для задания корректного заголовка
Return-Path при использовании функции sendmail.
Этот параметр экранируется функцией escapeshellcmd() автоматически, чтобы предотвратить запуск других команд. escapeshellcmd() предотвращает запуск команд, но допускает добавление дополнительных аргументов, поэтому для обеспечения безопасности нужно проверять эту опцию.
Так как escapeshellcmd() применяется автоматически, то нельзя использовать некоторые символы, допустимые в email-адресах. Нельзя использовать функцию mail() для программ, которые требуют использование таких символов.
Пользователь, под которым запущен веб-сервер, должен быть добавленным в доверенные пользователи в конфигурации sendmail, чтобы предотвратить добавление заголовка X-Warning в сообщение, если отправитель письма задан с помощью этого параметра (-f). Для пользователей sendmail, это файл /etc/mail/trusted-users.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
8.0.0 |
Теперь параметр additional_params может принимать значение null .
|
---|---|
Версия | Описание |
7.2.0 |
Теперь в параметр additional_headers
можно передавать массив.
|