Nachrichten aus Mozilla Thunderbird lesen

Mozilla Thunderbird ist ein beliebter Open‑Source‑E‑Mail‑Client, der plattformübergreifend von der Mozilla Foundation entwickelt wird. Er speichert E‑Mails in einer eigenen Dateistruktur und verwaltet Nachrichtenindizes sowie Unterordner mittels proprietärer Dateiformate. Aspose.Email kann mit den Thunderbird‑Mail‑Speicherstrukturen arbeiten. Konkret bietet die API die MboxrdStorageReader Klasse, die Entwicklern das Lesen von Nachrichten aus den Mailspeicherdateien von Mozilla Thunderbird ermöglicht. Dieser Artikel erklärt, wie man Nachrichten aus Thundersbirds E‑Mail‑Speicher mit Aspose.Email liest.

Wie man Nachrichten aus MBOX‑Dateien liest

Um Nachrichten aus dem Thunderbird‑Mailspeicher zu lesen, gehen Sie wie folgt vor:

  1. Öffnen Sie die Thunderbird‑Speicherdatei.
  2. Erstellen Sie eine Instanz von dem MboxrdStorageReader Klasse und übergeben Sie den Dateistream ihrem Konstruktor.
  3. Rufen Sie die read_next_message() Methode, um die erste Nachricht abzurufen.
  4. Verwenden Sie eine while‑Schleife mit read_next_message(), um durch alle Nachrichten zu iterieren.
  5. Schließen Sie alle Dateiströme nach der Verarbeitung.

Das folgende Code‑Snippet demonstriert, wie man alle Nachrichten aus einer Thunderbird‑Mailspeicherdatei liest:

E‑Mail‑Eigenschaften aus MBOX‑Nachrichten abrufen

Aspose.Email provides the MboxStorageReader Klasse zum Lesen von Nachrichten und die MboxLoadOptions Klasse zum Laden von MBOX‑Dateien. Die MboxMessageInfo Klasse enthält verschiedene Eigenschaften, um auf bestimmte Nachrichtendetails zuzugreifen und diese anzuzeigen, einschließlich:

  • date: Gibt das Datum der Nachricht zurück.

  • from_address: Gibt die Absenderadresse zurück.

  • subject: Gibt den Betreff der Nachricht zurück.

  • to: Gibt Empfängeradressen zurück.

  • cc: Gibt CC‑Empfängeradressen zurück.

  • bcc: Gibt BCC‑Empfängeradressen zurück.

Das folgende Code‑Snippet demonstriert, wie man Nachrichtendetails aus einer MBOX‑Datei extrahiert und anzeigt:

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}")

Nachrichten per ID aus MBOX‑Dateien extrahieren

Aspose.Email ermöglicht das Extrahieren von Nachrichten aus einer MBOX‑Datei mittels Entry‑IDs. Die folgenden Methoden und Eigenschaften erleichtern diesen Vorgang:

Das nachfolgende Codebeispiel zeigt die Nutzung dieser Funktionen zum Lesen und Extrahieren von Nachrichten aus einer MBOX‑Datei:

  1. MBOX‑Reader erstellen mittels MboxStorageReader.create_reader() Methode. Geben Sie die zu verarbeitende Datei an und übergeben MboxLoadOptions um Ladeoptionen zu konfigurieren.
  2. Nachrichten auflisten, indem Sie durch jedes mbox_message_info iterieren, indem Sie enumerate_message_info() am Reader aufrufen. Dies gewährt Zugriff auf Metadaten jeder E‑Mail in der MBox‑Datei.
  3. Einzelne Nachrichten extrahieren. Für jeden Nachricht‑Info‑Eintrag extrahieren Sie die eigentliche E‑Mail mithilfe der extract_message()‑Methode. Übergeben Sie die entry_id aus dem mbox_message_info und EmlLoadOptions() für Ladespezifikationen der E‑Mail.
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())

Ladeoptionen beim Lesen von MBOX‑Dateien konfigurieren

Das Aspose.Email EmlLoadOptions Klasse ermöglicht es Ihnen, den Ladevorgang einer MailMessage aus dem EML‑Format anzupassen. Beispielsweise können Sie eine Option setzen, um TNEF‑Anhänge beim Laden einer EML‑Datei zu erhalten, indem Sie die preserve_tnef_attachments Eigenschaft des EmlLoadOptions Klasse.

Um die nächste E‑Mail‑Nachricht aus einer MBOX‑Datei mit Ihren angegebenen Ladeoptionen zu lesen, verwenden Sie die read_next_message Methode des MboxStorageReader Klasse. Zusätzlich können Sie die Datei mithilfe der mbox_to_pst Methode des MailStorageConverter Klasse.

Das folgende Codebeispiel zeigt, wie Sie diese Methoden und Eigenschaften zur Verwaltung von E‑Mail‑Speicherdateien verwenden, einschließlich des Lesens von Nachrichten im MBOX‑Format, der Wahrung von TNEF‑Anhängen und der Konvertierung von Nachrichten vom MBOX‑ in das PST‑Format:

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")

Bevorzugte Textkodierung zum Lesen von MBOX‑Dateien festlegen

Sie können die beim Laden einer MBOX‑Datei zu verwendende Textkodierung angeben. Die preferred_text_encoding Eigenschaft des MboxLoadOptions Die Klasse setzt eine zusätzliche Option und stellt sicher, dass eine Nachricht mit kodiertem Inhalt korrekt gelesen und verarbeitet wird.

Das folgende Code‑Snippet zeigt, wie diese Funktion in einem Projekt verwendet wird:

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()

Gesamtzahl der Nachrichten in einer MBOX‑Datei ermitteln

Die MboxrdStorageReader Klasse, die die Möglichkeit bietet, die Anzahl der in einer MBox‑Datei verfügbaren Elemente zu lesen. Dies kann verwendet werden, um Anwendungen zu entwickeln, die den Fortschritt einer Verarbeitung solcher Dateien anzeigen.

Größe einer bestimmten Nachricht in MBOX ermitteln