Nuovo nella versione 2.2.
Il package email è una libreria per gestire i messaggi di email, inclusi MIME e gli altri documenti basati sulla RFC 2822. Include la maggior parte delle funzionalità di parecchi altri vecchi moduli della libreria standard, come rfc822, mimetools, multifile ed altri package non standard, come mimecntl. Non è specificamente progettato per nessun invio di messaggi di posta tramite server SMTP (RFC 2821); questa è la funzione del modulo smtplib. Il package email prova ad essere il più possibile compatibile con le RFC, supportando oltre alla RFC 2822, alcune RFC collegata a MIME, come RFC 2045-RFC 2047 e RFC 2231.
La caratteristica primaria che distingue il package email dagli altri è che divide l'analisi e la generazione del messaggio di email dal modello oggetto di rappresentazione interno dell'email. Le applicazioni che utilizzano il package email trattano principalmente con oggetti; potete aggiungere sotto oggetti ai messaggi, rimuovere sotto oggetti dai messaggi, riarrangiare completamente il contenuto, etc. etc.. Ci sono sia un parser (NdT: analizzatore) che un generatore, separati, che gestiscono le trasformazioni dal testo al modello dell'oggetto, e poi di nuovo in testo. Sono presenti anche utili sotto classi per alcuni tipi di oggetti MIME comuni, ed alcune utilità generiche che aiutano con alcuni compiti comuni come l'estrazione e l'analisi del valore dei campi, creare la data in formato compatibile con le RFC, etc. etc..
Le seguenti sezioni descrivono le funzionalità del package email. L'ordinamento segue una progressione che deve essere comune nelle applicazioni: un messaggio di email viene letto come testo da un file o un'altra fonte, il testo viene analizzato per produrre la struttura dell'oggetto del messaggio di email, questa struttura viene manipolata ed infine renderizzata nuovamente in puro testo.
È perfettamente fattibile creare la struttura dell'oggetto costruendosela, per esempio completamente da zero. Da qui, una progressione simile può essere usata come sopra.
Include anche le specifiche dettagliate di tutte le classi ed i moduli che vengono fornite dal package email, le eccezioni che potete incontrare utilizzando il package, alcune facilitazioni ausiliarie e alcuni esempi. Per gli utilizzatori del vecchio package mimelib, o le precedenti versioni del package email, viene fornita una sezione sulle differenze ed il porting.
Vedete anche: