La struttura degli oggetti messaggio pu� essere creata in uno o due modi: possono essere realizzati dall'interno, istanziando oggetti di tipo Message e sequenziandoli tramite chiamate di attach() e set_payload(), o possono essere creati analizzando una rappresentazione in puro testo di un messaggio email.
Il package email fornisce un parser (NdT: analizzatore)
standard che comprende la maggior parte della struttura dei documenti
email, inclusi i documenti MIME. Si pu� passare al parser una stringa
o un oggetto di tipo file ed il parser restituir� l'istanza
principale di Message della struttura dell'oggetto. Per
messaggi semplici, non MIME, il carico utile di questo oggetto
principale sar� simile ad una stringa contenente il testo del
messaggio. Per messaggi MIME, l'oggetto principale restituir�
True tramite il suo metodo is_multipart() e le
sotto parti saranno accessibili tramite i metodi get_payload()
e walk().
Notare che il parser pu� essere esteso in modo illimitato ed ovviamente � possibile implementare un parser partendo da zero. Non ci sono connessioni magiche tra il parser allegato al package email e la classe Message, quindi un parser personalizzato pu� creare alberi di oggetti messaggio in ogni modo si ritenga necessario.
Il parser primario � Parser, che analizza sia l'intestazione che il carico utile del messaggio. Nel caso di messaggi multipart, analizzer� ricorsivamente il corpo del messaggio contenitore. Sono supportate due modalit� di analisi, quella rigorosa, che generalmente rigetter� ogni messaggio non compatibile con l'RFC, e quella lasca, che prover� a sistemare i problemi di formattazione di MIME pi� comuni.
Il modulo email.Parser fornisce anche una seconda classe, chiamata HeaderParser che pu� essere utilizzata se si � solo interessati nelle intestazioni del messaggio. HeaderParser pu� essere molto pi� veloce in queste situazioni, poich� non prova ad analizzare il corpo del messaggio, in sostituzione imposta il carico utile al corpo del messaggio grezzo, come una stringa. HeaderParser ha la stessa API della classe classParser.