mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mail — Надсилає закодований електронний лист

Опис

mb_send_mail(    string $to,    string $subject,    string $message,    array|string $additional_headers = [],    ?string $additional_params = 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_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 можна передавати масив.

Дивіться також

  • mail() - Надсилає електронну пошту
  • mb_encode_mimeheader() - Кодує рядок для MIME-заголовка
  • mb_language() - Встановлює/отримує поточну мову