Programmieren mit Thunderbird
Nachrichten lesen
Mozilla Thunderbird ist ein Open‑Source‑E‑Mail‑Client für verschiedene Plattformen, entwickelt von der Mozilla Foundation. Er speichert E‑Mails in einer eigenen Dateistruktur und verwaltet Nachrichtenindizes sowie Unterordner über proprietäre Dateiformate. Aspose.Email kann mit den Thunderbird‑Mail‑Speicherstrukturen arbeiten. Die Klasse MboxrdStorageReader ermöglicht Entwicklern das Lesen von Nachrichten aus der Mail‑Speicherdatei von Mozilla Thunderbird. Dieser Artikel zeigt, wie man die Nachrichten aus dem Thunderbird‑E‑Mail‑Speicher liest:
- Öffnen Sie die Speicherdatei von Thunderbird
- Erstellen Sie eine Instanz der Klasse MboxrdStorageReader und übergeben Sie den obigen Stream dem Konstruktor.
- Rufen Sie read_next_message() auf, um die erste Nachricht zu erhalten.
- Verwenden Sie die gleiche read_next_message() in einer while‑Schleife, um alle Nachrichten zu lesen.
- Alle Streams schließen.
Das folgende Code‑Snippet zeigt, wie Sie alle Nachrichten aus einem Thunderbird‑Mail‑Speicher lesen.
Abrufen von Nachrichten-Eigenschaften
Um Informationen aus einer Mbox-Datei zu lesen und abzurufen, stellt Aspose.Email die MboxStorageReader Klasse zum Erstellen eines Reader-Objekts für die Mbox-Datei und die MboxLoadOptions Klasse zum Laden der Datei. Die folgenden Eigenschaften von MboxMessageInfo Klasse kann verwendet werden, um auf bestimmte Nachrichten Details zuzugreifen und sie anzuzeigen:
- ‘date’ - Ruft das Datum der Nachricht ab.
- ‘from_address’ - Ruft die Absenderadresse ab.
- ‘subject’ – Gibt den Betreff der Nachricht zurück.
- ’to’ – Gibt die Adresssammlung zurück, die die Empfänger der Nachricht enthält.
- ‘cc’ – Gibt die Adresssammlung zurück, die die CC‑Empfänger enthält.
- ‘bcc’ – Gibt die Adresssammlung zurück, die die BCC‑Empfänger der Nachricht enthält.
Das folgende Codebeispiel demonstriert die Verwendung dieser Eigenschaften zum Lesen und Extrahieren von Nachrichteninformationen aus einer Mbox‑Datei:
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 aus MBOX anhand von Kennungen extrahieren
Um Nachrichten aus einer MBOX‑Datei zu lesen, stellt Aspose.Email die Methode ‘create_reader()’ der MboxStorageReader Klasse zum Erzeugen eines Reader‑Objekts für die Datei. Sie akzeptiert den Dateinamen und MboxLoadOptions als Argumente, sodass der Benutzer die MBOX‑Datei bei Bedarf mit bestimmten Optionen laden kann.
Um Nachrichten zu extrahieren, werden folgende Methoden und Eigenschaften verwendet:
- Methode ’enumerate_message_info()’ der MboxStorageReader Klasse – Durchläuft jede Nachricht in der MBOX‑Datei.
- Methode ’extract_message()’ der MboxStorageReader Klasse – Extrahiert jede Nachricht anhand ihrer Entry‑ID.
- Eigenschaft ’entry_id’ der MboxMessageInfo Klasse – Gibt die Eintrags‑ID zurück.
Schließlich wird die Nachricht mit Hilfe von EmlLoadOptions.
Das nachfolgende Codebeispiel zeigt die Nutzung dieser Funktionen zum Lesen und Extrahieren von Nachrichten aus einer MBOX‑Datei:
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())
Konfigurieren der Ladeoptionen beim Lesen von Nachrichten aus MBOX
Mit Aspose.Email EmlLoadOptions Klasse können Sie beim Laden von MailMessage aus dem Eml‑Format zusätzliche Optionen angeben. Zum Beispiel können Sie die Option zum Erhalten von TNEF‑Anhängen beim Laden einer EML‑Datei über die Eigenschaft ‘preserve_tnef_attachments’ der EmlLoadOptions Klasse.
Sie können die nächste E‑Mail‑Nachricht aus der Mbox‑Datei unter Verwendung der angegebenen Ladeoptionen mit der Methode ‘read_next_message’ der MboxStorageReader Klasse und konvertieren Sie die Datei mit der Methode ‘mbox_to_pst’ der MailStorageConverter Klasse .
Das nachstehende Codebeispiel demonstriert die Verwendung dieser Methoden und Eigenschaften zum Arbeiten mit Mail‑Speicherdateien, einschließlich des Lesens von Nachrichten im Mbox‑Format, dem Erhalten von TNEF‑Anhängen und der Konvertierung von Nachrichten vom Mbox‑ zum 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")
Festlegen der bevorzugten Textcodierung beim Laden von Mbox‑Dateien zum Lesen
Sie können die beim Laden einer MBOX‑Datei zu verwendende Textcodierung festlegen. Die Eigenschaft ‘preferred_text_encoding’ ist verfügbar für die 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()
MBOX nach PST konvertieren – Signatur erhalten oder entfernen
Um die Signatur einer Datei während der Konvertierung zu entfernen, setzen Sie die Eigenschaft MboxToPstConversionOptions.remove_signature auf true.
Das folgende Codebeispiel zeigt, wie diese Eigenschaft verwendet wird:
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)
Nachrichten schreiben
Die Klasse MboxrdStorageWriter bietet die Möglichkeit, neue Nachrichten in die Mail‑Speicherdatei von Thunderbird zu schreiben. Zum Schreiben von Nachrichten:
- Öffnen Sie die Thunderbird‑Speicherdatei im FileStream.
- Erzeugen Sie eine Instanz der Klasse MboxrdStorageWriter und übergeben Sie den obigen Stream dem Konstruktor.
- Erstellen Sie eine neue Nachricht mit der Klasse MailMessage.
- Rufen Sie die Methode write_message() auf und übergeben Sie die obige MailMessage‑Instanz, um die Nachricht dem Thunderbird‑Speicher hinzuzufügen.
- Alle Streams schließen.
Das folgende Code‑Snippet zeigt, wie Nachrichten in den Mail‑Speicher von Thunderbird geschrieben werden.
Gesamtzahl der Nachrichten aus MBox‑Datei ermitteln
Die Klasse MboxrdStorageReader bietet die Möglichkeit, die Anzahl der in einer MBox-Datei verfügbaren Elemente zu lesen. Dies kann verwendet werden, um Anwendungen zu entwickeln, die den Fortschritt der Aktivität bei der Verarbeitung einer solchen Datei anzeigen.