Gefilterte Nachrichten aus MBOX‑Dateien in Python abrufen
MBOX-Nachrichten nach Betreff und Datum filtern
Aspose.Email für Python über .NET bietet die Möglichkeit, Nachrichten in MBOX‑Dateien mithilfe einer Abfrage zu filtern oder zu durchsuchen. Die folgenden Methoden ermöglichen es Ihnen, nur jene Nachrichten abzurufen, die bestimmten Kriterien entsprechen:
- EnumerateMessages(MailQuery query) - gibt eine aufzählbare Sammlung von MailMessage Instanzen, die der angegebenen Abfrage entsprechen.
- EnumerateMessageInfo(MailQuery query) - gibt eine aufzählbare Sammlung von MboxMessageInfo Instanzen, die der angegebenen Abfrage entsprechen.
Das untenstehende Codebeispiel zeigt Ihnen, wie Sie diese Methoden bei der Nachrichtenfilterung verwenden:
import datetime
from aspose.email.storage.mbox import MboxStorageReader, MboxLoadOptions
from aspose.email import MailQueryBuilder
# Create an MBOX reader with load options
reader = MboxStorageReader.create_reader("input.mbox", MboxLoadOptions())
# Build the mail query
mqb = MailQueryBuilder()
mqb.subject.contains("Project Update")
mqb.sent_date.before(datetime.date.today())
# Iterate over matching messages
for message in reader.enumerate_messages(mqb.get_query()):
print("Subject:", message.subject)
Paginierte Abrufe von MBOX-Nachrichten
Aspose.Email für Python via .NET unterstützt das paginierte Lesen von MBOX‑Dateien, wodurch eine effiziente Verarbeitung großer E‑Mail‑Archive ermöglicht wird. Anstatt das gesamte Nachrichtenset in den Speicher zu laden, können Sie Nachrichten in kleineren, handhabbaren Chargen abrufen. Dies ist besonders nützlich beim Umgang mit sehr großen Archivdateien und hilft, den Speicherverbrauch zu reduzieren sowie die Verarbeitungsleistung zu verbessern.
Die folgenden Methoden können für die paginierte MBOX‑Nachrichtenabfrage verwendet werden:
-
enumerate_messages(start_index, count) - Ruft eine bestimmte Anzahl von MailMessage Instanzen.
-
enumerate_message_info(start_index, count) - Ruft entsprechende MboxMessageInfo Objekte.
Das folgende Code‑Beispiel demonstriert, wie man Nachrichten aus einer MBOX‑Datei in handhabbaren Portionen mithilfe der Aspose.Email‑Bibliothek liest und abruft:
from aspose.email.storage.mbox import MboxStorageReader, MboxLoadOptions
# Initialize MBOX reader with load options
reader = MboxStorageReader.create_reader("input.mbox", MboxLoadOptions())
# Define pagination parameters
start_index = 0
count = 10 # Retrieve messages in batches of 10
# Enumerate and display messages in the current batch
for message in reader.enumerate_messages(start_index, count):
print("Subject:", message.subject)