imap_mail_compose

(PHP 4, PHP 5)

imap_mail_composeCreate a MIME message based on given envelope and body sections

Описание

string imap_mail_compose ( array $envelope , array $body )

Create a MIME message based on the given envelope and body sections.

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

envelope

An associative array of headers fields. Valid keys are: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc", "message_id" and "custom_headers" (which contains associative array of other headers).

body

An indexed array of bodies

A body is an associative array which can consist of the following keys: "type", "encoding", "charset", "type.parameters", "subtype", "id", "description", "disposition.type", "disposition", "contents.data", "lines", "bytes" and "md5".

Возвращаемые значения

Returns the MIME message.

Примеры

Пример #1 imap_mail_compose() example

<?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));

?>

Коментарии

The documentation above does not mention that you can use the index ["charset"] to set the character set of the messsage part.

Example:

$part1["type"]= "TEXT";
$part1["subtype"]="PLAIN";
$part1["charset"] = "koi8-r";

to send a message in Russian-koi8.

Scott  =)
2002-01-07 11:22:24
http://php5.kiev.ua/manual/ru/function.imap-mail-compose.html
Автор:
If you wish to send the output of this function, simply use it for the headers argument of imap_mail() or mail().  Keep in mind that those functions set the To: and Subject: headers, so including them in the envelope will create double entries.
2003-01-23 16:16:40
http://php5.kiev.ua/manual/ru/function.imap-mail-compose.html
It is a good idea to set the date header:
$envelope['date']=date('r');
2003-09-06 08:28:27
http://php5.kiev.ua/manual/ru/function.imap-mail-compose.html
Автор:
For some email clients its necessary first to start with the body text and end with the attachment(s). Otherwise all the parts end up in attachments, also the body text (took a while to find this).

So example #1 (above) should be switched over, like:

$body[1] = $part1;
$body[2] = $part3;
$body[3] = $part2;
2008-08-26 13:25:53
http://php5.kiev.ua/manual/ru/function.imap-mail-compose.html
The custom_headers envelope documentation is misleading. Its not actually an "associative array", its a regular array of headers.

This is wrong:

<?php
$envelope 
= [
   
//...
   
"custom_headers" => [
       
"X-SES-CONFIGURATION-SET" => "example",
       
"X-SES-MESSAGE-TAGS" => "emailType=example"
   
]
];
?>

This is right:

<?php
$envelope 
= [
   
//...
   
"custom_headers" => [
       
"X-SES-CONFIGURATION-SET: example",
       
"X-SES-MESSAGE-TAGS: emailType=example"
   
]
];
?>
2017-06-07 00:22:53
http://php5.kiev.ua/manual/ru/function.imap-mail-compose.html

    Поддержать сайт на родительском проекте КГБ