|
|
|
La libreria di riferimento di Python |
|
|
|
Questo modulo definisce tre classi, IMAP4, IMAP4_SSL e
IMAP4_stream, che incapsulano una connessione ad un server
IMAP4 ed implementano una larga parta del protocollo client IMAP4rev1
come definito nell'RFC 2060. È compatibile all'indietro con i
server IMAP4 (RFC 1730), notare però che il comando "STATUS"non è supportato in IMAP4.
Il modulo imaplib fornisce tre classi, IMAP4 è la
classe di base:
class IMAP4( |
[host[, port]]) |
-
Questa classe implementa l'attuale protocollo IMAP4. La connessione
viene creata e la versione del protocollo (IMAP4 o IMAP4rev1) viene
determinata quando l'istanza viene inizializzata. Se host non
viene specificato, allora viene utilizzato
''
(l'host locale o
localhost). Se viene omessa la porta port, viene usata quella
standard per l'IMAP4 (143).
Nella classe IMAP4 vengono definite tre eccezioni come
attributi.
- exception IMAP4.error
-
Eccezione sollevata su ogni errore. Il motivo per cui è stata
sollevata l'eccezione viene passato al costruttore come stringa.
- exception IMAP4.abort
-
Errori del server IMAP4 causano il sollevamento di questa eccezione.
Questa è una sotto classe di IMAP4.error. Notare che
chiudendo l'istanza ed istanziandone una nuova è solitamente
possibile recuperare da questa eccezione.
- exception IMAP4.readonly
-
Questa eccezione viene sollevata quando ad una mailbox scrivibile
viene cambiato il suo stato dal server. Questa è una sotto classe di
IMAP4.error. Qualche altro client ha ora il permesso in
scrittura, e la mailbox deve essere riaperta per ottenere nuovamente
il permesso in scrittura.
C'é anche una sotto classe per le connessioni sicure:
class IMAP4_SSL( |
[host[, port[, keyfile[, certfile]]]]) |
-
Questa è una sotto classe derivata da IMAP4 che si connette su
un socket criptato SSL (per usare questa classe avete bisogno di un
modulo socket compilato con il supporto SSL). Se host non
viene specificato, allora viene utilizzato
''
(l'host locale o
localhost). Se viene omessa la porta port, viene usata quella
standard per IMAP4-over-SSL (993). Anche keyfile e
certfile sono facoltativi - possono contenere una chiava
privata formattata PEM ed il file della catena del certificato per la
connessione SSL.
La seconda sotto classe permette connessioni create da un processo figlio:
class IMAP4_stream( |
command) |
-
Questa è una sotto classe derivata da IMAP4 che si connette ad un
descrittore di file
stdin/stdout
creato passando command
a os.popen2()
.
Nuovo nella versione 2.3.
Sono definite le seguenti funzioni di utilità:
Internaldate2tuple( |
datestr) |
-
Converte la stringa IMAP4 INTERNALDATE in UTC (Tempo Universale
Coordinato). Restituisce una tupla del modulo time.
-
Converte un intero in una rappresentazione stringa usando caratteri
dall'insieme [
A
.. P
].
-
Converte una risposta IMAP4 "FLAGS" in una tupla di opzioni
individuali.
Time2Internaldate( |
date_time) |
-
Converte una tupla del modulo time in una
rappresentazione IMAP4 "INTERNALDATE". Restituisce una stringa
nella forma
"DD-Mmm-YYYY HH:MM:SS +HHMM"
(includendo le
doppie virgolette).
Si noti che i numeri di messaggi IMAP4 cambiano al modificarsi
della mailbox; in particolare, dopo un comando "EXPUNGE" che
esegue le cancellazioni, i rimanenti messaggi vengono rinumerati.
Così è altamente preferibile usare gli UID, con il comando UID.
Alla fine del modulo, c'é una sezione di test che contiene una serie
più estesa di esempi d'uso.
Vedete anche:
Documenti che descrivono il protocollo, sorgenti e binari
per server che lo implementano, possono essere tutti trovati
presso l'IMAP Information Center dell'Università di
Washington (http://www.cac.washington.edu/imap/).
|
|
|
La libreria di riferimento di Python |
|
|
|
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.