Aller au contenu principal

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 HTML
  • multipart/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 unique
  • number : Numéro de fragment
  • total : 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 FTP
  • http : URL HTTP
  • local-file : Fichier local
  • mail-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)