É possibile creare una nuova struttura di oggetti creando un'istanza Message, aggiungendo gli allegati e tutte le intestazioni appropriate a mano. Per i messaggi MIME però il package email fornisce alcune sotto classi convenienti per rendere il tutto più facile. Ogni sotto classe deve essere importata da un modulo con lo stesso nome della classe, dal package email. Per esempio:
import email.MIMEImage.MIMEImage
o
from email.MIMEText import MIMEText
Ecco la classe:
_maintype, _subtype, **_params) |
_maintype è il tipo principale di Content-Type: (per esempio, text o image) e _subtype è il tipo secondario in Content-Type: (per esempio plain o gif). _params è un dizionario chiave/valore passato direttamente a Message.add_header().
La classe MIMEBase aggiunge sempre un'intestazione
Content-Type: (basata su _maintype, _subtype e
_params) ed un'intestazione MIME-Version: (sempre
impostata a 1.0
).
) |
Nuovo nella versione 2.2.2.
[subtype[, boundary[, _subparts[, _params]]]]) |
Una sotto classe di MIMEBase, questa è una classe base intermedia per messaggi MIME che non sono multipart. L'argomento facoltativo _subtype ha valore predefinito a mixed, ma può essere utilizzato per specificare il sotto tipo del messaggio. Un'intestazione Content-Type: del tipo multipart/_subtype viene aggiunta all'oggetto del messaggio. Viene anche aggiunta un'intestazione MIME-Version:.
L'argomento facoltativo boundary è la stringa boundary
multipart. Quando è None
(il valore predefinito), il boundary (NdT: limite)
viene calcolato quando necessario.
_subparts è una sequenza della sotto parte iniziale del carico utile. Deve essere possibile convertire questa sequenza in una lista. Si possono sempre allegare nuove sotto parti al messaggio utilizzando il metodo Message.attach().
Parametri addizionali per l'intestazione Content-Type: vengono presi dall'argomento parola chiave o passati nell'argomento _params, che è un dizionario di parole chiave.
Nuovo nella versione 2.2.2.
_audiodata[, _subtype[, _encoder[, **_params]]]) |
Una sotto classe di MIMENonMultipart, la classe MIMEAudio viene utilizzata per creare oggetti messaggi MIME di tipo principale audio. _audiodata è una stringa contenente i dati audio grezzi. Se questi dati possono essere decodificati dal modulo standard di Python sndhdr, il sotto tipo viene automaticamente incluso nell'intestazione Content-Type:. Altrimenti si può esplicitamente specificare il sotto tipo audio attraverso il parametro _subtype. Se il tipo secondario non può essere determinato e _subtype non viene fornito, verrà sollevata un'eccezione di tipo TypeError.
Il parametro facoltativo _encoder è un oggetto eseguibile (per esempio una funzione) che effettuerà la vera codifica dei dati audio per il trasporto. Questo eseguibile prende un solo argomento, che è l'istanza di MIMEAudio. Si può utilizzare il metodo get_payload() e set_payload() per cambiare il carico utile alla forma codificata. Deve anche aggiungere le intestazioni Content-Transfer-Encoding: o altro che sia necessario, nell'oggetto messaggio. La codifica predefinita è base64. Vedere il modulo email.Encoders per una lista degli encoder built-in.
_params vengono passati direttamente attraverso il costruttore della classe base.
_imagedata[, _subtype[, _encoder[, **_params]]]) |
Una sotto classe di MIMENonMultipart, la classe MIMEImage viene utilizzata per creare oggetti MIME, principalmente del tipo image. _imagedata è la stringa che contiene i dati grezzi dell'immagine. Se questi dati possono essere decodificati dal modulo standard di Python imghdr, il sotto tipo viene automaticamente incluso nell'intestazione Content-Type:. Altrimenti potete esplicitamente specificare il sotto tipo dell'immagine tramite il parametro _subtype. Se il tipo secondario non può essere ricavato e _subtype non viene fornito, viene sollevata l'eccezione TypeError.
Il parametro facoltativo _encoder è un eseguibile (per esempio una funzione) che effettuerà la reale codifica dei dati dell'immagine per il trasporto. Questo eseguibile prende un argomento, che è l'istanza di MIMEImage. Deve utilizzare get_payload() e set_payload() per cambiare il carico utile nella forma codificata. Deve anche aggiungere ogni intestazione Content-Transfer-Encoding: o altro necessario all'oggetto messaggio. La codifica predefinita è base64. Vedere il modulo email.Encoders per una lista di tutti gli encoder built-in.
_params vengono passati direttamente al costruttore MIMEBase.
_msg[, _subtype]) |
L'argomento facoltativo _subtype imposta il sotto tipo del messaggio; il valore predefinito è rfc822.
_text[, _subtype[, _charset[, _encoder]]]) |
Una sotto classe di MIMENonMultipart, la classe
MIMEText viene utilizzata per creare oggetti MIME,
principalmente di tipo text. _text è la stringa per
il carico utile. _subtype è il tipo secondario ed il valore
predefinito è plain. _charset è il charset del testo
e viene passato come parametro al costruttore di
MIMENonMultipart; il valore predefinito è us-ascii
.
Non viene effettuata alcuna analisi per determinare la codifica del
testo.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.