Recupera messaggi filtrati da file MBOX in Python
Filtra Messaggi MBOX per Oggetto e Data
Aspose.Email per Python tramite .NET offre la possibilità di filtrare o cercare messaggi all’interno di file MBOX usando una query. I metodi seguenti ti consentono di recuperare solo i messaggi che soddisfano criteri specifici:
- EnumerateMessages(MailQuery query) - restituisce una collezione enumerabile di MailMessage istanze che corrispondono alla query specificata.
- EnumerateMessageInfo(MailQuery query) - restituisce una collezione enumerabile di MboxMessageInfo istanze che corrispondono alla query specificata.
Il campione di codice seguente ti mostrerà come utilizzare questi metodi nel filtrare i messaggi:
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)
Recupero Paginato di Messaggi MBOX
Aspose.Email per Python via .NET supporta la lettura paginata dei file MBOX, consentendo un’elaborazione efficiente di grandi archivi email. Invece di caricare l’intero set di messaggi in memoria, è possibile recuperare i messaggi in batch più piccoli e gestibili. Questo è particolarmente utile quando si tratta di archivi molto grandi, contribuendo a ridurre l’utilizzo della memoria e a migliorare le prestazioni durante l’elaborazione.
I metodi seguenti possono essere usati per il recupero paginato dei messaggi MBOX:
-
enumerate_messages(start_index, count) - Recupera un numero specifico di MailMessage istanze.
-
enumerate_message_info(start_index, count) - Recupera corrispondenti MboxMessageInfo oggetti.
Il seguente esempio di codice dimostra come leggere e recuperare messaggi da un file MBOX in blocchi gestibili utilizzando la libreria 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)