Passa al contenuto principale

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 HTML
  • multipart/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 univoco
  • number: Numero del frammento
  • total: 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 FTP
  • http: URL HTTP
  • local-file: File locale
  • mail-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)