5. Composite Media Type Values (Valeurs de type de média composites)
Les deux types de médias de premier niveau composites sont : multipart et message.
5.1. Multipart Media Type (Type de média multipart)
Le type multipart est utilisé pour combiner plusieurs parties de corps en un seul message. Chaque partie est une entité indépendante avec ses propres en-têtes et corps.
5.1.1. Syntaxe commune
Tous les types multipart partagent une syntaxe commune. Le paramètre boundary est requis (REQUIRED) :
Content-Type: multipart/mixed; boundary="----=_Part_0_123456789.987654321"
------=_Part_0_123456789.987654321
Content-Type: text/plain
Contenu de la première partie
------=_Part_0_123456789.987654321
Content-Type: text/html
<html>Contenu de la deuxième partie</html>
------=_Part_0_123456789.987654321--
5.1.3. Sous-type Mixed
multipart/mixed est utilisé pour les parties indépendantes qui doivent être présentées dans l'ordre.
Cas d'utilisation : Corps d'e-mail + pièces jointes
Content-Type: multipart/mixed; boundary="boundary123"
--boundary123
Content-Type: text/plain
Corps de l'e-mail
--boundary123
Content-Type: application/pdf
Content-Disposition: attachment; filename="document.pdf"
[Données PDF]
--boundary123--
5.1.4. Sous-type Alternative
multipart/alternative est utilisé pour différentes représentations du même contenu. Les clients de messagerie devraient (SHOULD) sélectionner la dernière version qu'ils comprennent.
Cas d'utilisation : Versions texte brut + HTML
Content-Type: multipart/alternative; boundary="alt123"
--alt123
Content-Type: text/plain
Version texte brut
--alt123
Content-Type: text/html
<html><body>Version HTML</body></html>
--alt123--
5.1.5. Sous-type Digest
multipart/digest est utilisé pour transférer plusieurs messages. Le type de partie par défaut est message/rfc822.
5.1.6. Sous-type Parallel
multipart/parallel indique que les parties devraient être présentées simultanément.
5.1.7. Autres sous-types Multipart
multipart/related: Parties liées (par exemple, HTML + images intégrées)multipart/form-data: Téléchargements de fichiers de formulaire HTMLmultipart/byteranges: Requêtes de plage HTTP
5.2. Message Media Type (Type de média message)
Le type message est utilisé pour encapsuler un autre message.
5.2.1. Sous-type RFC822
message/rfc822 est utilisé pour encapsuler un message RFC 822 complet.
Content-Type: message/rfc822
From: [email protected]
To: [email protected]
Subject: Message transféré
Ceci est le contenu du message transféré.
5.2.2. Sous-type Partial
message/partial est utilisé pour diviser les grands messages en plusieurs fragments.
Paramètres :
id: Identifiant uniquenumber: Numéro de fragmenttotal: Nombre total de fragments
Content-Type: message/partial;
id="[email protected]";
number=1;
total=3
5.2.3. Sous-type External-Body
message/external-body est utilisé pour référencer des données stockées ailleurs.
Types d'accès :
ftp: Serveur FTPhttp: URL HTTPlocal-file: Fichier localmail-server: Serveur de messagerie
Content-Type: message/external-body;
access-type=URL;
URL="http://example.com/file.pdf"
Content-Type: application/pdf
Content-Description: Grand fichier PDF
Structure imbriquée typique :
multipart/mixed
├── text/plain (corps)
├── multipart/alternative
│ ├── text/plain
│ └── text/html
└── application/pdf (pièce jointe)