(PHP 4, PHP 5, PHP 7, PHP 8)
imap_mail_compose — Crée un message MIME
$envelope, array $bodies): string|false
   Crée un message MIME basé sur l'enveloppe envelope
   et les sections bodies.
  
envelope
       Un tableau associatif contenant les champs des en-têtes.
       Les clés valides sont : "remail",
       "return_path", "date",
       "from", "reply_to",
       "in_reply_to", "subject",
       "to", "cc",
       "bcc" et "message_id", qui
       définie les en-têtes respectifs à la chaîne de caractères donnée.
       Pour définir des en-têtes additionnels, la clé
       "custom_headers" est supporté, qui attend un tableau
       de ces en-têtes, par exemple ["User-Agent: My Mail Client"].
      
bodies
       Un tableau indexé des corps. Le premier corps est le corps principal
       du message ; seulement s'il est du type TYPEMULTIPART,
       les corps suivant seront traité ; ces corps constitue les corps des parties.
      
| Clé | Type | Description | 
|---|---|---|
| type | int | Le type MIME.
            Un de TYPETEXT(par défault),TYPEMULTIPART,TYPEMESSAGE,TYPEAPPLICATION,TYPEAUDIO,TYPEIMAGE,TYPEMODELouTYPEOTHER. | 
| encoding | int | Le Content-Transfer-Encoding.
            Un deENC7BIT(par défault),ENC8BIT,ENCBINARY,ENCBASE64,ENCQUOTEDPRINTABLEorENCOTHER. | 
| charset | string | Le jeu d'encodage du paramètre du type MIME. | 
| type.parameters | array | Un tableau associatif de nom de paramètre Content-Typeet leur valeurs. | 
| subtype | string | Le sous-type MIME, e.g. 'jpeg'pourTYPEIMAGE. | 
| id | string | Le Content-ID. | 
| description | string | Le Content-Description. | 
| disposition.type | string | Le Content-Disposition, e.g.'attachment'. | 
| disposition | array | Un tableau associatif de nom de paramètre Content-Dispositionet leur valeurs. | 
| contents.data | string | La charge utile. | 
| lines | int | La taille de la charge utile en lignes. | 
| bytes | int | La taille de la charge utile en octets. | 
| md5 | string | La checksum MD5 de la charge utile. | 
   Retourne le message MIME en tant que chaîne de caractères,  ou false si une erreur survient.
  
Exemple #1 Exemple avec 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));
?>