Отправка закодированного сообщения


(PHP 4 >= 4.0.6, PHP 5)

mb_send_mailОтправка закодированного сообщения

Описание

bool mb_send_mail ( string $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() - Установка/получение текущего языка