Un'istanza SMTP possiede i seguenti metodi:
level) |
[host[, port]]) |
cmd, [, argstring]) |
Restituisce una doppia tupla composta da un codice di risposta numero e una riga della risposta attuale (risposte multiriga sono sommate in una singola lunga riga).
Nelle normali operazioni non dovrebbe essere necessario chiamare questo metodo esplicitamente. Viene usato per implementare altri metodi e può tornare utile per testare estensioni private.
Se viene persa la connessione al server durante l'attesa della risposta viene sollevata l'eccezione SMTPServerDisconnected.
[hostname]) |
Nelle normali operazioni non dovrebbe essere necessario chiamare questo metodo esplicitamente. Viene implicitamente chiamato da sendmail() quando necessario.
[hostname]) |
Finché si desidera usare has_extn() prima di inviare mail, non dovrebbe essere necessario usare questo metodo esplicitamente. Verrà chiamato implicitamente da sendmail() quando necessario.
name) |
address) |
Note: Molti siti disabilitano il comando SMTP "VRFY" per evitarne l'utilizzo da parte degli spammers.
user, password) |
[keyfile[, certfile]]) |
Se vengono forniti keyfile e certfile, questi vengono passati alla funzione ssl() del modulo socket.
from_addr, to_addrs, msg[, mail_options, rcpt_options]) |
Note: I parametri from_addr e to_addrs vengono usati per costruire l'intestazione del messaggio usata dall'agente di trasporto. La classe SMTP non modifica le intestazioni del messaggio in nessun modo.
Se in questa sessione non ci sono stati precedenti comandi "EHLO"o "HELO", questo metodo prova per prima cosa il comando ESMTP "EHLO". Se il server supporta ESMTP, la dimensione del messaggio ed ognuna delle opzioni specificate gli verranno passate (se l'opzione è nell'insieme di particolarità specificate dalle indicazioni inviate dal server stesso). Se "EHLO" fallisce, verrà tentato "HELO" ed il supporto ESMTP verrà soppresso.
Questo metodo terminerà regolarmente se la mail viene accettata per almeno un destinatario. Altrimenti solleverà un'eccezione. In parole povere, se non c'è un'eccezione, qualcuno riceverà la mail. Se questo metodo non solleva un'eccezione, restituirà un dizionario, con una riga per ogni destinatario rifiutato. Ogni riga contiene una tupla del codice di errore SMTP ed il messaggio di errore corrispondente inviato dal server.
Questo metodo può sollevare le seguenti eccezioni:
Diversamente da quanto altrimenti fatto notare, la connessione resterà aperta dopo che un'eccezione è stata sollevata.
) |
Vengono anche supportati i metodi di basso livello che corrispondono ai comandi standard SMTP/ESMTP "HELP", "RSET", "NOOP", "MAIL", "RCPT" e "DATA". In condizioni normali non c'è bisogno di chiamare questi metodi direttamente, e quindi non sono qui documentati; consultare il codice del modulo.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.