imap_mail_compose
(PHP 4, PHP 5, PHP 7, PHP 8)
Create a MIME message based on given envelope and body sections
Description
Create a MIME message based on the given envelope and bodies sections.
Parameters
envelopeAn associative array of header fields. Valid keys are:
"remail","return_path","date","from","reply_to","in_reply_to","subject","to","cc","bcc"and"message_id", which set the respective message headers to the given String. To set additional headers, the key"custom_headers"is supported, which expects an array of those headers, e.g.["User-Agent: My Mail Client"].bodiesAn indexed array of bodies. The first body is the main body of the message; only if it has a type of
TYPEMULTIPART, further bodies are processed; these bodies constitute the bodies of the parts.Key Type Description typeintThe MIME type. One of TYPETEXT(default),TYPEMULTIPART,TYPEMESSAGE,TYPEAPPLICATION,TYPEAUDIO,TYPEIMAGE,TYPEMODELorTYPEOTHER.encodingintThe Content-Transfer-Encoding. One ofENC7BIT(default),ENC8BIT,ENCBINARY,ENCBASE64,ENCQUOTEDPRINTABLEorENCOTHER.charsetstringThe charset parameter of the MIME type. type.parametersarrayAn associative Array of Content-Typeparameter names and their values.subtypestringThe MIME subtype, e.g. 'jpeg'forTYPEIMAGE.idstringThe Content-ID.descriptionstringThe Content-Description.disposition.typestringThe Content-Disposition, e.g.'attachment'.dispositionarrayAn associative Array of Content-Dispositionparameter names and values.contents.datastringThe payload. linesintThe size of the payload in lines. bytesintThe size of the payload in bytes. md5stringThe MD5 checksum of the payload.
Return Values
Returns the MIME message as String, Falseforfailure.
Examples
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($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));
?>