(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_send_mail — Отправка закодированного сообщения
$to
, string $subject
, string $message
[, mixed $additional_headers
= NULL
[, string $additional_parameter
= NULL
]] ) : boolПосылает сообщение электронной почты. Заголовки и сообщения преобразуются и кодируются в соответствии с настройкой 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_parameter
Значением additional_parameter
является параметр
командной строки MTA. Он полезен для задания корректного заголовка
Return-Path при использовании функции sendmail.
Этот параметр экранируется функцией escapeshellcmd() автоматически, чтобы предотвратить запуск других команд. escapeshellcmd() предотвращает запуск команд, но допускает добавление дополнительных аргументов, поэтому для обеспечения безопасности нужно проверять эту опцию.
Так как escapeshellcmd() применяется автоматически, то нельзя использовать некоторые символы, допустимые в email-адресах. Нельзя использовать функцию mail() для программ, которые требуют использование таких символов.
Пользователь, под которым запущен веб-сервер, должен быть добавленным в доверенные пользователи в конфигурации sendmail, чтобы предотвратить добавление заголовка X-Warning в сообщение, если отправитель письма задан с помощью этого параметра (-f). Для пользователей sendmail, это файл /etc/mail/trusted-users.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
7.2.0 |
Теперь в параметр additional_headers
можно передавать массив.
|