Získat filtrované zprávy ze souborů MBOX v Pythonu

Filtrovat MBOX zprávy podle předmětu a data

Aspose.Email pro Python prostřednictvím .NET poskytuje možnost filtrovat nebo vyhledávat zprávy v souborech MBOX pomocí dotazu. Následující metody vám umožní načíst pouze zprávy, které splňují konkrétní kritéria:

Níže uvedený ukázkový kód vám ukáže, jak použít tyto metody při filtrování zpráv:

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)

Stránkované načítání MBOX zpráv

Aspose.Email pro Python přes .NET podporuje stránkované čtení souborů MBOX, což umožňuje efektivní zpracování velkých e‑mailových archivů. Místo načítání celého souboru zpráv do paměti můžete získávat zprávy v menších, zvládnutelných dávkách. To je zvláště užitečné při práci s velmi velkými archivními soubory, pomáhá snižovat využití paměti a zlepšovat výkon během zpracování.

Následující metody lze použít pro stránkované načítání zpráv MBOX:

Následující ukázkový kód demonstruje, jak číst a získávat zprávy z MBOX souboru po zvládnutelných částech pomocí knihovny Aspose.Email:

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)