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

Структура массива тела
Ключ Тип Описание
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));

?>