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:

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:

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)