imap_mail_compose

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_composeСоздаёт MIME-сообщение на основе заданных обёртки и тела

Описание

imap_mail_compose(array$envelope, array$bodies): string|false

Создаёт 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; эти тела составляют тела частей.

Структура массива тела
КлючТипОписание
typeint Тип MIME. Один из TYPETEXT (по умолчанию), TYPEMULTIPART, TYPEMESSAGE, TYPEAPPLICATION, TYPEAUDIO, TYPEIMAGE, TYPEMODEL или TYPEOTHER.
encodingint Значение Content-Transfer-Encoding. Одно из ENC7BIT (default), ENC8BIT, ENCBINARY, ENCBASE64, ENCQUOTEDPRINTABLE или ENCOTHER.
charsetstringПараметр charset типа MIME.
type.parametersarrayАссоциативный массив (array) имён параметров Content-Type и их значений.
subtypestringПодтип MIME, например, 'jpeg' для TYPEIMAGE.
idstringЗначение Content-ID.
descriptionstringЗначение Content-Description.
disposition.typestringЗначение Content-Disposition, например, 'attachment'.
dispositionarrayАссоциативный массив (array) имён параметров Content-Disposition и их значений.
contents.datastringПолезная нагрузка.
linesintРазмер полезной нагрузки в строках.
bytesintРазмер полезной нагрузки в байтах.
md5stringКонтрольная сумма 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));

?>
To Top