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