imap_mail_compose

(PHP 4, PHP 5, PHP 7)

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

Описание

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

Создает MIME-сообщение на основе обертки envelope и тела body.

Список параметров

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"].

body

Индексированный массив тел. Первое тело - это основная часть сообщения; дальнейшие тела обрабатываются, только если оно с типом 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($fpfilesize($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));

?>