(PHP 4, PHP 5, PHP 7, PHP 8)
imap_mail_compose — Создаёт MIME-сообщение на основе заданных обёртки и тела
Создаёт MIME-сообщение на основе обёртки envelope
и тела bodies.
envelope
Ассоциативный массив с полями заголовка. Допустимые ключи:
"remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject",
"to", "cc", "bcc" и "message_id", которые устанавливают соответствующие заголовки сообщений в заданную строку (string).
Для установки дополнительных заголовков поддерживается ключ "custom_headers", который содержит
ассоциативный массив прочих заголовков, например, ["User-Agent: My Mail Client"].
bodies
Индексированный массив тел. Первое тело - это основная часть сообщения;
дальнейшие тела обрабатываются, только если оно
с типом TYPEMULTIPART; эти тела составляют тела частей.
| Ключ | Тип | Описание |
|---|---|---|
type |
int |
Тип MIME.
Один из TYPETEXT (по умолчанию), TYPEMULTIPART,
TYPEMESSAGE, TYPEAPPLICATION,
TYPEAUDIO, TYPEIMAGE,
TYPEMODEL или TYPEOTHER.
|
encoding |
int |
Значение Content-Transfer-Encoding.
Одно из ENC7BIT (default), ENC8BIT,
ENCBINARY, ENCBASE64,
ENCQUOTEDPRINTABLE или ENCOTHER.
|
charset |
string | Параметр charset типа MIME. |
type.parameters |
array | Ассоциативный массив (array) имён параметров Content-Type и их значений. |
subtype |
string | Подтип MIME, например, 'jpeg' для TYPEIMAGE. |
id |
string | Значение Content-ID. |
description |
string | Значение Content-Description. |
disposition.type |
string | Значение Content-Disposition, например, 'attachment'. |
disposition |
array | Ассоциативный массив (array) имён параметров Content-Disposition и их значений. |
contents.data |
string | Полезная нагрузка. |
lines |
int | Размер полезной нагрузки в строках. |
bytes |
int | Размер полезной нагрузки в байтах. |
md5 |
string | Контрольная сумма MD5 полезной нагрузки. |
Возвращает MIME-сообщение в виде строки (string) или false, если возникла ошибка.
Пример #1 Пример использования imap_mail_compose()
<?php
$envelope["from"]= "joe@example.com";
$envelope["to"] = "foo@example.com";
$envelope["cc"] = "bar@example.com";
$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";
$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);
$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;
$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";
$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;
echo nl2br(imap_mail_compose($envelope, $body));
?>