Čtení zpráv z Mozilla Thunderbird
Mozilla Thunderbird je populární open-source, multiplatformní e‑mailový klient vyvinutý nadací Mozilla Foundation. Ukládá e‑maily ve vlastní souborové struktuře a spravuje indexy zpráv a podsložky pomocí proprietárních formátů souborů. Aspose.Email může pracovat se strukturami úložiště pošty Thunderbird. Konkrétně API obsahuje MboxrdStorageReader třída, která umožňuje vývojářům číst zprávy ze souborů úložiště pošty Mozilla Thunderbird. Tento článek vysvětluje, jak číst zprávy z úložiště e‑mailů Thunderbird pomocí Aspose.Email.
Jak číst zprávy ze souborů MBOX
Chcete-li číst zprávy z úložiště pošty Thunderbird, postupujte podle následujících kroků:
- Otevřete soubor úložiště Thunderbird.
- Vytvořte instanci MboxrdStorageReader třídu a předat souborový proud do jejího konstruktoru.
- Zavolejte read_next_message() metoda pro získání první zprávy.
- Použijte smyčku while s read_next_message() pro iteraci přes všechny zprávy.
- Po zpracování uzavřete všechny souborové proudy.
Následující úryvek kódu ukazuje, jak načíst všechny zprávy ze souboru úložiště pošty Thunderbird:
Získat vlastnosti e‑mailu z MBOX zpráv
Aspose.Email poskytuje MboxStorageReader třída pro čtení zpráv a MboxLoadOptions třída pro načítání MBOX souborů. Tato MboxMessageInfo třída obsahuje různé vlastnosti pro přístup a zobrazení konkrétních podrobností zprávy, včetně:
-
date: Načte datum zprávy.
-
from_address: Načte adresu odesílatele.
-
subject: Načte předmět zprávy.
-
to: Načte adresy příjemců.
-
cc: Načte adresy příjemců v kopii.
-
bcc: Načte adresy příjemců v skryté kopii.
Následující úryvek kódu ukazuje, jak extrahovat a zobrazit podrobnosti zprávy z MBOX souboru:
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}")
Extrahovat zprávy podle ID z MBOX souborů
Aspose.Email umožňuje extrahovat zprávy z MBOX souboru pomocí entry ID. Následující metody a vlastnosti usnadňují tento proces:
- enumerate_message_info(): Prochází každou zprávu v MBOX souboru.
- extract_message(): Extrahuje každou zprávu podle jejího Entry ID.
- entry_id: Získá identifikátor položky.
Níže uvedená ukázka kódu demonstruje použití těchto funkcí pro čtení a extrakci zpráv z MBOX souboru:
- Vytvořte MBOX čtečku pomocí MboxStorageReader.create_reader() metodu. Zadejte soubor, který má být zpracován, a předávejte MboxLoadOptions pro konfiguraci možností načítání.
- Vyjmenujte zprávy iterací přes každý mbox_message_info voláním enumerate_message_info() na čtečce. To poskytuje přístup k metadatům každého e‑mailu v MBox souboru.
- Extrahujte jednotlivé zprávy. Pro každý záznam informace o zprávě extrahujte skutečný e‑mail pomocí metody extract_message() . Předávejte entry_id z mbox_message_info a EmlLoadOptions() pro načítací konfigurace e‑mailu.
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())
Konfigurace možností načítání při čtení MBOX souborů
Aspose.Email EmlLoadOptions třída vám umožní přizpůsobit proces načítání MailMessage z formátu EML. Například můžete nastavit možnost zachovat TNEF přílohy při načítání EML souboru nastavením preserve_tnef_attachments vlastnost třídy EmlLoadOptions třída.
Chcete-li přečíst další e‑mailovou zprávu z MBOX souboru s vašimi specifikovanými možnostmi načítání, použijte read_next_message metoda třídy MboxStorageReader třídu. Navíc můžete soubor převést do formátu PST pomocí mbox_to_pst metoda třídy MailStorageConverter třída.
Následující ukázka kódu demonstruje, jak použít tyto metody a vlastnosti pro správu souborů úložiště e‑mailů, včetně čtení zpráv z formátu MBOX, zachování TNEF příloh a konverze zpráv z MBOX do formátu 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")
Nastavit preferované kódování textu pro čtení MBOX souborů
Můžete specifikovat kódování textu, které bude použito při načítání MBOX souboru. Toto preferred_text_encoding vlastnost třídy MboxLoadOptions třída nastaví dodatečnou volbu a zajišťuje, že zpráva s kódovaným obsahem bude správně přečtena a zpracována.
Následující úryvek kódu ukazuje, jak použít tuto funkci v projektu:
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()
Získat celkový počet zpráv v MBOX souboru
The MboxrdStorageReader třída poskytuje možnost přečíst počet položek dostupných v MBox souboru. To lze využít při vývoji aplikací zobrazujících průběh zpracování takového souboru.