Programmare con Thunderbird
Lettura dei Messaggi
Mozilla Thunderbird è un client di posta elettronica open source, multipiattaforma, sviluppato dalla Mozilla Foundation. Memorizza le email nella propria struttura di file, gestendo gli indici dei messaggi e le sottocartelle tramite formati di file proprietari. Aspose.Email può lavorare con le strutture di archiviazione della posta di Thunderbird. La classe MboxrdStorageReader consente agli sviluppatori di leggere i messaggi dal file di archiviazione della posta di Mozilla Thunderbird. Questo articolo mostra come leggere i messaggi dalla archiviazione email di Thunderbird:
- Apri il file di archiviazione di Thunderbird
- Crea un’istanza della classe MboxrdStorageReader e passa lo stream sopra al costruttore.
- Chiama read_next_message() per ottenere il primo messaggio.
- Usa lo stesso read_next_message() in un ciclo while per leggere tutti i messaggi.
- Chiudi tutti i flussi.
Il seguente frammento di codice mostra come leggere tutti i messaggi da uno storage di posta Thunderbird.
Recupero delle proprietà del messaggio
Per leggere e recuperare informazioni da un file Mbox, Aspose.Email fornisce il MboxStorageReader Classe per creare un oggetto reader per il file Mbox e il MboxLoadOptions Classe per caricare il file. Le seguenti proprietà del MboxMessageInfo La classe può essere usata per accedere e visualizzare dettagli specifici del messaggio:
- ‘date’ - Ottiene la data del messaggio.
- ‘from_address’ - Ottiene l’indirizzo mittente.
- ‘subject’ - Ottiene l’oggetto del messaggio.
- ’to’ - Ottiene la collezione di indirizzi che contiene i destinatari del messaggio.
- ‘cc’ - Ottiene la collezione di indirizzi che contiene i destinatari CC.
- ‘bcc’ - Ottiene la collezione di indirizzi che contiene i destinatari BCC del messaggio.
Il seguente esempio di codice dimostra l’uso di queste proprietà per leggere ed estrarre le informazioni dei messaggi da un file Mbox:
import aspose.email as ae
reader = ae.storage.mbox.MboxStorageReader.create_reader(file_name, ae.storage.mbox.MboxLoadOptions())
for mbox_message_info in reader.enumerate_message_info():
print(f"Subject: {mbox_message_info.subject}")
print(f"Date: {mbox_message_info.date}")
print(f"From: {mbox_message_info.from_address}")
print(f"To: {mbox_message_info.to}")
print(f"CC: {mbox_message_info.cc}")
print(f"Bcc: {mbox_message_info.bcc}")
Estrai messaggi da MBOX per identificatori
Per leggere i messaggi da un file MBOX, Aspose.Email fornisce il metodo ‘create_reader()’ della MboxStorageReader classe per creare un oggetto reader per il file. Richiede il nome del file e MboxLoadOptions come argomenti, consentendo all’utente di caricare il file MBOX con opzioni specifiche se necessario.
Per estrarre i messaggi, vengono utilizzati i seguenti metodi e proprietà:
- metodo ’enumerate_message_info()’ della MboxStorageReader classe - Itera attraverso ogni messaggio nel file MBOX.
- metodo ’extract_message()’ della MboxStorageReader classe - Estrae ogni messaggio tramite il suo Entry ID.
- proprietà ’entry_id’ della MboxMessageInfo classe - Ottiene l’identificatore di entry.
Infine, il messaggio è convertito in formato EML usando EmlLoadOptions.
Il seguente esempio di codice dimostra l’uso di queste funzionalità per leggere ed estrarre messaggi da un file MBOX:
import aspose.email as ae
reader = ae.storage.mbox.MboxStorageReader.create_reader("my.mbox", ae.storage.mbox.MboxLoadOptions())
for mbox_message_info in reader.enumerate_message_info():
eml = reader.extract_message(mbox_message_info.entry_id, ae.EmlLoadOptions())
Configurazione delle opzioni di caricamento durante la lettura dei messaggi da MBOX
Con Aspose.Email EmlLoadOptions classe, puoi specificare opzioni aggiuntive quando carichi MailMessage dal formato Eml. Ad esempio, puoi impostare un’opzione per conservare gli allegati TNEF durante il caricamento di un file EML con la proprietà ‘preserve_tnef_attachments’ della EmlLoadOptions classe.
Puoi leggere il prossimo messaggio email dal file mbox usando le opzioni di caricamento specificate con il metodo ‘read_next_message’ della MboxStorageReader classe e converte il file in formato PST con il metodo ‘mbox_to_pst’ della MailStorageConverter classe .
Il seguente esempio di codice dimostra l’uso di questi metodi e proprietà per lavorare con i file di archivio email, inclusa la lettura dei messaggi dal formato mbox, la conservazione degli allegati TNEF e la conversione dei messaggi dal formato mbox a pst:
import aspose.email as ae
reader = ae.storage.mbox.MboxrdStorageReader(fileName, ae.storage.mbox.MboxLoadOptions())
# Read messages preserving tnef attachments.
load_options = ae.EmlLoadOptions()
load_options.preserve_tnef_attachments = True
eml = reader.read_next_message(load_options)
ae.storage.MailStorageConverter.MboxMessageOptions(load_options)
# Convert messages from mbox to pst preserving tnef attachments.
pst = ae.storage.MailStorageConverter.mbox_to_pst("Input.mbox", "Output.pst")
Impostazione della Codifica Testo Preferita durante il Caricamento di File Mbox per la Lettura
Puoi specificare la codifica del testo da utilizzare durante il caricamento di un file MBOX. La proprietà ‘preferred_text_encoding’ disponibile per la MboxLoadOptions la classe imposta un’opzione aggiuntiva e garantisce che un messaggio con contenuto codificato venga letto e elaborato correttamente.
Il seguente frammento di codice mostra come utilizzare questa funzionalità in un progetto:
import aspose.email as ae
load_options = ae.storage.mbox.MboxLoadOptions()
load_options.preferred_text_encoding = 'utf-8'
reader = ae.storage.mbox.MboxrdStorageReader("sample.mbox", load_options)
message = reader.read_next_message()
Conversione da MBOX a PST conservando o rimuovendo una firma
Per rimuovere la firma da un file durante il processo di conversione, imposta la proprietà MboxToPstConversionOptions.remove_signature su true.
Il seguente esempio di codice mostra come utilizzare questa proprietà:
import aspose.email as ae
personalStorage = ae.storage.pst.PersonalStorage.create("target.pst", ae.storage.pst.FileFormatVersion.UNICODE)
conversion_options = ae.storage.MboxToPstConversionOptions()
conversion_options.remove_signature = True
ae.storage.MailStorageConverter.mbox_to_pst( ae.storage.mbox.MboxrdStorageReader("source.mbox", ae.storage.mbox.MboxLoadOptions()), personalStorage, "Inbox", conversion_options)
Scrittura dei messaggi
La classe MboxrdStorageWriter fornisce la possibilità di scrivere nuovi messaggi nel file di archiviazione della posta di Thunderbird. Per scrivere i messaggi:
- Apri il file di archiviazione di Thunderbird in FileStream.
- Crea un’istanza della classe MboxrdStorageWriter e passa lo stream sopra al costruttore.
- Prepara un nuovo messaggio usando la classe MailMessage.
- Chiama il metodo write_message() e passa l’istanza di MailMessage sopra per aggiungere il messaggio all’archivio di Thunderbird.
- Chiudi tutti i flussi.
Il seguente frammento di codice mostra come scrivere messaggi nello storage di posta di Thunderbird.
Ottenere il numero totale di messaggi da un file MBox
La classe MboxrdStorageReader offre la capacità di leggere il numero di elementi disponibili in un file MBox. Questo può essere usato per sviluppare applicazioni che mostrano il progresso dell’attività durante l’elaborazione di tale file.