5. Valori dei tipi di media compositi
I due tipi di media di livello superiore compositi sono: multipart e message.
5.1. Tipo di media Multipart
Il tipo multipart viene utilizzato per combinare più parti di corpo in un singolo messaggio. Ogni parte è un'entità indipendente con le proprie intestazioni e il proprio corpo.
5.1.1. Sintassi comune
Tutti i tipi multipart condividono una sintassi comune. Il parametro boundary è obbligatorio:
Content-Type: multipart/mixed; boundary="----=_Part_0_123456789.987654321"
------=_Part_0_123456789.987654321
Content-Type: text/plain
Contenuto della prima parte
------=_Part_0_123456789.987654321
Content-Type: text/html
<html>Contenuto della seconda parte</html>
------=_Part_0_123456789.987654321--
5.1.3. Sottotipo Mixed
multipart/mixed viene utilizzato per parti indipendenti che devono essere presentate in ordine.
Caso d'uso: Corpo del messaggio di posta + allegati
Content-Type: multipart/mixed; boundary="boundary123"
--boundary123
Content-Type: text/plain
Corpo del messaggio di posta
--boundary123
Content-Type: application/pdf
Content-Disposition: attachment; filename="document.pdf"
[Dati PDF]
--boundary123--
5.1.4. Sottotipo Alternative
multipart/alternative viene utilizzato per diverse rappresentazioni dello stesso contenuto. I client di posta dovrebbero selezionare l'ultima versione che comprendono.
Caso d'uso: Versioni in testo semplice + HTML
Content-Type: multipart/alternative; boundary="alt123"
--alt123
Content-Type: text/plain
Versione in testo semplice
--alt123
Content-Type: text/html
<html><body>Versione HTML</body></html>
--alt123--
5.1.5. Sottotipo Digest
multipart/digest viene utilizzato per inoltrare più messaggi. Il tipo di parte predefinito è message/rfc822.
5.1.6. Sottotipo Parallel
multipart/parallel indica che le parti dovrebbero essere presentate simultaneamente.
5.1.7. Altri sottotipi Multipart
multipart/related: Parti correlate (es. HTML + immagini incorporate)multipart/form-data: Caricamenti di file da modulo HTMLmultipart/byteranges: Richieste di intervallo HTTP
5.2. Tipo di media Message
Il tipo message viene utilizzato per incapsulare un altro messaggio.
5.2.1. Sottotipo RFC822
message/rfc822 viene utilizzato per incapsulare un messaggio RFC 822 completo.
Content-Type: message/rfc822
From: [email protected]
To: [email protected]
Subject: Messaggio inoltrato
Questo è il contenuto del messaggio inoltrato.
5.2.2. Sottotipo Partial
message/partial viene utilizzato per dividere messaggi di grandi dimensioni in più frammenti.
Parametri:
id: Identificatore univoconumber: Numero del frammentototal: Numero totale di frammenti
Content-Type: message/partial;
id="[email protected]";
number=1;
total=3
5.2.3. Sottotipo External-Body
message/external-body viene utilizzato per fare riferimento a dati memorizzati altrove.
Tipi di accesso:
ftp: Server FTPhttp: URL HTTPlocal-file: File localemail-server: Server di posta
Content-Type: message/external-body;
access-type=URL;
URL="http://example.com/file.pdf"
Content-Type: application/pdf
Content-Description: File PDF di grandi dimensioni
Struttura tipica annidata:
multipart/mixed
├── text/plain (corpo)
├── multipart/alternative
│ ├── text/plain
│ └── text/html
└── application/pdf (allegato)