Un'istanza Message ha i seguenti metodi:
) |
line) |
None
(questo implica che l'analisi dovrebbe fermarsi qui e la
riga dovrebbe essere respinta indietro nel flusso in input). Talvolta
è utile sovrascrivere questo metodo in una sotto classe.
line) |
line) |
True
se la riga fornita dovrebbe essere ignorata
interamente, semplicemente saltata. Come comportamento predefinito
restituisce sempre False
, ma si può sovrascrivere tale
comportamento in una sotto classe.
name) |
name) |
None
se non ci sono intestazioni
corrispondenti a name.
name) |
None
se non ci sono intestazioni corrispondenti a
name.
name[, default]) |
getrawheader(name)
, ma elimina gli spazi in testa ed
in coda. Gli spazi interni non vengono eliminati. L'argomento
facoltativo default può essere utilizzato per specificare un
differente valore predefinito come valore restituito, nel caso non ci
siano intestazioni corrispondenti a name.
name[, default]) |
name) |
(nome completo, indirizzo email)
risultante
dall'analisi della stringa restituita da
getheader(name)
. Se non esiste alcuna intestazione
corrispondente a name, restituisce (None, None)
;
altrimenti sia il nome completo che l'indirizzo sono stringhe
(eventualmente vuote).
Esempio: se la prima intestazione From: di m
contiene la stringa 'jack@cwi.nl (Jack Jansen)'
, allora
m.getaddr('From')
restituirà la coppia
('Jack Jansen', 'jack@cwi.nl')
. Se l'intestazione avesse
invece contenuto 'Jack Jansen <jack@cwi.nl>'
, sarebbe stato
restituito esattamente lo stesso risultato.
name) |
getaddr(list)
, ma analizza
un'intestazione che contiene una lista di indirizzi email (ad esempio
un'intestazione To:) e restituisce una lista di coppie
(nome completo, indirizzo email)
(anche se
l'intestazione contiene un solo indirizzo). Nel caso non ci sia
nessuna intestazione corrispondente a name, restituisce una
lista vuota.
Se ci fossero più intestazioni corrispondenti all'intestazione in analisi (ad esempio se ci fossero più intestazioni Cc:), verranno tutti analizzati per la ricerca degli indirizzi. Verranno analizzate anche tutte le eventuali righe di continuazione.
name) |
None
.
L'analisi delle date sembra essere un'arte oscura, e non tutti i server di posta aderiscono agli standard. Sebbene sia stata provata e riconosciuta corretta su un gran numero di messaggi email provenienti da fonti diverse, è tuttavia possibile che questa funzione possa occasionalmente produrre risultati non corretti.
name) |
None
.
Le istanze Message supportano inoltre una interfaccia limitata
di mappatura. In particolare: m[name]
è simile a
m.getheader(name)
ma solleva l'eccezione
KeyError se non ci sono intestazioni che corrispondono a
name; e len(m)
,
m.get(name[, default])
,
m.has_key(name)
, m.keys()
,
m.values()
m.items()
, e
m.setdefault(name[, default])
si
comportano come previsto, con la sola differenza che
setdefault() utilizza una stringa vuota come valore
predefinito. Le istanze di Message inoltre supportano
l'interfaccia di mappatura scrivibile
m[name] = value
e del m[name]
. Gli oggetti
Message non supportano i metodi clear(),
copy(), popitem() o update()
dell'interfaccia di mappatura. Il supporto per get() e
setdefault() è stato aggiunto solamente in Python 2.2.
Infine, le istanze Message hanno alcune variabili d'istanza pubbliche:
mbox
.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.