Tutti i comandi IMAP4rev1 vengono rappresentati da metodi con lo stesso nome sia in maiuscolo che minuscolo.
Tutti gli argomenti per i comandi vengono convertiti in stringhe,
eccetto che per "AUTHENTICATE", e l'ultimo argomento per
"APPEND" che viene passato come letterale IMAP4. Se necessario
(la stringa contiene caratteri sensibili per il protocollo IMAP4 e non
è chiuso tra parentesi o doppie virgolette) ogni stringa viene
quotata. Comunque, l'argomento password per il comando
"LOGIN" viene sempre quotato. Se si vuole evitare di avere una
stringa argomento quotata (per esempio: l'argomento flags per
"STORE") includere la stringa tra parentesi (per esempio:
r'(\Deleted)'
).
Ogni comando restituisce una tupla
(type, [data, ...])
in cui type è
abitualmente 'OK'
o 'NO'
, e data è, sia il testo
della risposta del comando, che il risultato generato dal comando.
Ogni data è, sia una stringa, che una tupla. Se è una tupla, la
prima parte è l'intestazione della risposta, e la seconda parte
contiene i dati (per esempio: valore 'literal').
Una istanza IMAP4 ha i seguenti metodi:
mailbox, flags, date_time, message) |
func) |
) |
) |
message_set, new_mailbox) |
mailbox) |
mailbox) |
) |
message_set, message_parts) |
mailbox) |
root) |
mailbox) |
[directory[, pattern]]) |
user, password) |
user, password) |
) |
[directory[, pattern]]) |
) |
host, port) |
read
, readline
, send
e shutdown
.
Questo metodo può essere sovrascritto.
message_num, message_part, start, length) |
user) |
size) |
) |
) |
None
se non ci sono nuovi messaggi, altrimenti il valore
della risposta "RECENT".
oldmailbox, newmailbox) |
code) |
None
. Restituisce il codice
passato, al posto del tipo abituale.
charset, criterion[, ...]) |
None
, nel cui caso
nessun "CHARSET" verrà specificato nella richiesta al server.
Il protocollo IMAP richiede che al massimo venga specificato un
criterio; verrà sollevata un'eccezione quando il server restituisce
un errore.
Esempio:
# M è un'istanza di IMAP4 connessa... msgnums = M.search(None, 'FROM', '"LDJ"') # o: msgnums = M.search(None, '(FROM "LDJ")')
[mailbox[, readonly]]) |
'INBOX'
. Se l'opzione
readonly viene impostata, non sono autorizzate modifiche alla
mailbox.
data) |
data
al server remoto. Questo metodo può essere
sovrascritto.
mailbox, who, what) |
root, limits) |
) |
open
. Questo metodo può
essere sovrascritto.
) |
sort_criteria, charset, search_criterion[, ...]) |
sort
è una variante di search
con la
semantica del sorting per il risultato. I dati restituiti
contengono una lista separata da spazi dei numeri del messaggi
corrispondenti.
Sort ha due argomenti prima dell'argomento/i search_criterion;
una lista di sort_criteria tra parentesi ed il charset
di ricerca. Notare che, diversamente da search
, il parametro
charset è obbligatorio. Esiste anche un comando
uid sort
che corrisponde a sort
, alla stessa maniera
di come uid search
corrisponde a search
. Il comando
sort
, prima cerca la mailbox per i messaggi che verificano il
criterio di ricerca indicato usando l'argomento charset per
l'interpretazione delle stringhe del criterio di ricerca.
Restituisce il numero di messaggi corrispondenti.
Questo comando è previsto dall' estensione "IMAP4rev1".
mailbox, names) |
message_set, command, flag_list) |
mailbox) |
threading_algorithm, charset, search_criterion[, ...]) |
thread
è una variante della ricerca search
dei risultati, con semantica threading. I dati restituiti
contengono una lista separata da spazi dei membri del thread.
I membri thread consistono in zero o più messaggi delimitati da spazi, che indicano successivi genitori e figli.
Thread possiede due argomenti prima dell'argomento/i
search_criterion: un threading_algorithm ed il
charset di ricerca. Notare che, diversamente da
search
, l'argomento di ricerca charset è obbligatorio.
Esiste anche un comando uid thread
corrispondente a
thread
, alla stessa maniera in cui uid search
corrisponde a search
. Il comando thread
cerca per
prima cosa le mailbox i cui messaggi trovino corrispondenza con il
criterio di ricerca indicato usando l'argomento charset per
l'interpretazione delle stringhe nel criterio di ricerca. Quindi
restituisce i corrispondenti messaggi threaded in accordo con
l'algoritmo di threading passato.
Questo è un comando di estensione "IMAP4rev1". Nuovo nella versione 2.4.
command, arg[, ...]) |
mailbox) |
name[, arg[, ...]]) |
Le istanze di IMAP4_SSL hanno solamente un metodo aggiuntivo:
) |
I seguenti attributi vengono definiti sull'istanza di IMAP4:P4:
Debug
del modulo.
Valori più grandi di 3 tracciano ogni comando.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.