Geselecteerde berichten ophalen uit MBOX‑bestanden in Python
Filter MBOX-berichten op onderwerp en datum
Aspose.Email voor Python via .NET biedt de mogelijkheid om berichten in MBOX-bestanden te filteren of te zoeken met behulp van een query. De volgende methoden stellen u in staat alleen die berichten op te halen die aan specifieke criteria voldoen:
- EnumerateMessages(MailQuery query) - retourneert een doorzoekbare collectie van MailMessage instanties die voldoen aan de opgegeven query.
- EnumerateMessageInfo(MailQuery query) - retourneert een doorzoekbare collectie van MboxMessageInfo instanties die voldoen aan de opgegeven query.
Het onderstaande codevoorbeeld laat zien hoe u deze methoden kunt gebruiken bij het filteren van berichten:
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)
Gepagineerde Ophalen van MBOX-berichten
Aspose.Email voor Python via .NET ondersteunt paginerende lectuur van MBOX‑bestanden, waardoor efficiënte verwerking van grote e‑mailarchieven mogelijk is. In plaats van de volledige berichtenset in het geheugen te laden, kunt u berichten ophalen in kleinere, beheersbare batches. Dit is vooral nuttig bij zeer grote archiefbestanden, omdat het het geheugenverbruik vermindert en de prestaties tijdens de verwerking verbetert.
De volgende methoden kunnen worden gebruikt voor paginerende MBOX‑berichtophaling:
-
enumerate_messages(start_index, count) - Haalt een specifiek aantal MailMessage instanties.
-
enumerate_message_info(start_index, count) - Haalt de corresponderende MboxMessageInfo objecten.
Het onderstaande code‑voorbeeld toont hoe berichten te lezen en op te halen uit een MBOX‑bestand in beheersbare blokken met behulp van de Aspose.Email‑bibliotheek:
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)