1. Introduction (Introduzione)
1.1. Scope (Ambito)
Questo documento definisce il formato dei messaggi Internet (IMF, Internet Message Format), una sintassi per i messaggi di testo inviati tra utenti di computer, nell'ambito dei messaggi di "posta elettronica". Questa specifica è una revisione della RFC 2822, che a sua volta ha sostituito la RFC 822, aggiornandola per riflettere le pratiche attuali e incorporando le modifiche incrementali specificate in altri RFC.
Questo documento specifica una sintassi solo per i messaggi di testo. In particolare, non prevede la trasmissione di immagini, audio o altri tipi di dati strutturati nei messaggi di posta elettronica. Sono state pubblicate diverse estensioni, come la serie di documenti MIME (RFC 2045, RFC 2046, RFC 2049), che descrivono meccanismi per trasmettere tali dati tramite posta elettronica.
Nel contesto della posta elettronica, i messaggi sono visti come aventi una busta (Envelope) e un contenuto (Contents). La busta contiene le informazioni necessarie per compiere la trasmissione e la consegna (vedere RFC 5321 per una discussione sulla busta). Il contenuto comprende l'oggetto da consegnare al destinatario. Questa specifica si applica solo al formato e ad alcune delle semantiche del contenuto del messaggio. Non contiene alcuna specifica delle informazioni nella busta.
Tuttavia, alcuni sistemi di messaggistica possono utilizzare informazioni dal contenuto per creare la busta. Questa specifica è destinata a facilitare l'acquisizione di tali informazioni da parte dei programmi.
Questa specifica è intesa come definizione del formato del contenuto del messaggio da trasmettere tra sistemi. Sebbene alcuni sistemi di messaggistica memorizzino localmente i messaggi in questo formato (eliminando la necessità di traduzione tra formati), altri utilizzano formati nativi diversi. L'archiviazione locale è al di fuori dell'ambito di questa specifica.
Nota: Questa specifica non è destinata a dettare i formati interni utilizzati dai siti, le funzionalità specifiche del sistema di messaggistica che si prevede debbano supportare, o qualsiasi caratteristica dei programmi di interfaccia utente che creano o leggono messaggi. Inoltre, questo documento non specifica la codifica dei caratteri utilizzata per la trasmissione o l'archiviazione.
1.2. Notational Conventions (Convenzioni notazionali)
1.2.1. Requirements Notation (Notazione dei requisiti)
Questo documento utilizza occasionalmente termini che appaiono in lettere maiuscole. Quando i termini "MUST", "SHOULD", "RECOMMENDED", "MUST NOT", "SHOULD NOT" e "MAY" appaiono in maiuscolo, vengono utilizzati per indicare requisiti particolari di questa specifica. Una discussione dei significati di questi termini appare nella RFC 2119.
Riferimento delle parole chiave:
| Termine | Significato |
|---|---|
| MUST | deve (Requisito assoluto) |
| MUST NOT | non deve (Proibizione assoluta) |
| SHOULD | dovrebbe (Forte raccomandazione) |
| SHOULD NOT | non dovrebbe (Forte non-raccomandazione) |
| RECOMMENDED | raccomandato (Pratica raccomandata) |
| MAY | può (Opzionale) |
1.2.2. Syntactic Notation (Notazione sintattica)
Questa specifica utilizza la notazione Forma di Backus-Naur Aumentata (ABNF, Augmented Backus-Naur Form) come descritto nella RFC 5234. I caratteri sono specificati sia tramite valori decimali (ad es., %d65 per la A maiuscola, %d97 per la a minuscola) sia tramite valori letterali non sensibili alle maiuscole/minuscole racchiusi tra virgolette (ad es., "A" rappresenta sia A maiuscola che a minuscola).
Fondamenti dell'ABNF:
- Letterali:
"From:"- non sensibile alle maiuscole/minuscole - Valori decimali:
%d65- codice ASCII 65 (carattere A) - Intervalli:
%d48-57- cifre 0-9 - Ripetizione:
*(zero o più),1*(uno o più),2*4(da 2 a 4 volte) - Opzionale:
[OPTIONAL]- elementi tra parentesi quadre sono opzionali - Raggruppamento:
()- le parentesi raggruppano elementi - Alternative:
/- sceglierne una
1.2.3. Structure of This Document (Struttura di questo documento)
Questo documento è organizzato in diverse sezioni.
Questa sezione (Sezione 1) è una breve introduzione al documento.
La Sezione 2 presenta la descrizione generale di un messaggio e delle sue parti costituenti. Si tratta di una panoramica per aiutare il lettore a comprendere alcuni dei principi generali utilizzati nelle parti successive di questo documento. Qualsiasi esempio in questa sezione non deve (MUST NOT) essere considerato come specifica formale di alcuna parte del messaggio.
La Sezione 3 specifica le regole ABNF formali per la struttura (sintassi) di ogni parte di un messaggio e descrive la relazione tra quelle parti e il loro significato (semantica) nel contesto dei messaggi. Elenca le regole effettive (sintassi) per la struttura di ogni parte di un messaggio, così come la descrizione e le note esplicative su di esse (semantica). Ciò include sia l'analisi sintattica che semantica delle sottoparti del messaggio che hanno una struttura specifica. La sintassi nella Sezione 3 rappresenta come i messaggi devono (MUST) essere creati. Ci sono anche note nella Sezione 3 che indicano se le opzioni nella sintassi dovrebbero (SHOULD) essere utilizzate rispetto ad altre opzioni.
Sia la Sezione 2 che la Sezione 3 descrivono messaggi che è legale generare secondo questa specifica.
La Sezione 4 specifica la sintassi "obsoleta" (Obsolete). Questi elementi di sintassi obsoleta sono riferiti nella Sezione 3. Le regole della sintassi obsoleta sono elementi che sono apparsi in versioni precedenti di questa specifica o sono stati ampiamente utilizzati su Internet, ma che non devono più essere utilizzati quando si generano messaggi. Di conseguenza, i parser di messaggi conformi devono (MUST) interpretare questi elementi. Tuttavia, poiché gli elementi in questa sintassi sono stati determinati come non interoperabili o causano problemi significativi ai destinatari dei messaggi, i creatori di messaggi conformi non devono (MUST NOT) generarli.
La Sezione 5 dettaglia le considerazioni sulla sicurezza nell'implementazione di questa specifica.
L'Appendice A elenca esempi di diversi tipi di messaggi. Questi esempi non sono esaustivi dei tipi di messaggi che appaiono su Internet, ma forniscono un'ampia panoramica di alcune forme sintattiche.
L'Appendice B elenca le differenze tra questa specifica e le specifiche di messaggi Internet precedenti.
L'Appendice C contiene i ringraziamenti.
Riepilogo dei concetti chiave
Struttura del messaggio
+-------------------------+
| Sezione intestazione | ← Definita da questa spec
| - From: alice@... |
| - To: bob@... |
| - Subject: Hello |
| - Date: ... |
+-------------------------+
| Riga vuota (CRLF) | ← Separatore richiesto
+-------------------------+
| Sezione corpo | ← Questa spec (testo semplice)
| Hello World! | MIME estende (multimedia)
+-------------------------+
Ambito della specifica
| Contenuto | Questa specifica | Altre specifiche |
|---|---|---|
| Formato contenuto messaggio | ✅ Definito | - |
| Trasporto messaggio (SMTP) | ❌ Non coperto | RFC 5321 |
| Informazioni busta | ❌ Non coperto | RFC 5321 |
| Contenuto multimediale | ❌ Non coperto | RFC 2045-2049 (MIME) |
| Formato archiviazione locale | ❌ Non coperto | Specifico del sistema |
| Codifica caratteri | ❌ Non specificato | Livello di trasporto |
Relazione con RFC correlati
RFC 5322 (Questo RFC)
↓ definisce
Formato messaggio (IMF)
↓ esteso da
Serie MIME (RFC 2045-2049)
↓ trasportato da
SMTP (RFC 5321)
Guida alla lettura del documento
- Comprensione rapida: Leggere le Sezioni 1-2 (Panoramica)
- Specifica implementazione: Studiare la Sezione 3 (Generazione messaggi)
- Compatibilità legacy: Riferimento Sezione 4 (Analisi messaggi)
- Sicurezza: Rivedere la Sezione 5
- Esempi pratici: Sfogliare l'Appendice A
Successivo: 2. Lexical Analysis of Messages (Analisi lessicale dei messaggi)