Recuperar mensajes filtrados de archivos MBOX en Python
Filtrar mensajes MBOX por asunto y fecha
Aspose.Email para Python a través de .NET ofrece la capacidad de filtrar o buscar mensajes dentro de archivos MBOX usando una consulta. Los siguientes métodos le permiten recuperar solo aquellos mensajes que coinciden con criterios específicos:
- EnumerateMessages(MailQuery query) - devuelve una colección enumerable de MailMessage instancias que coinciden con la consulta especificada.
- EnumerateMessageInfo(MailQuery query) - devuelve una colección enumerable de MboxMessageInfo instancias que coinciden con la consulta especificada.
El ejemplo de código a continuación le mostrará cómo usar estos métodos en el filtrado de mensajes:
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)
Recuperación paginada de mensajes MBOX
Aspose.Email para Python vía .NET soporta la lectura paginada de archivos MBOX, permitiendo un procesamiento eficiente de grandes archivos de correo. En lugar de cargar todo el conjunto de mensajes en memoria, puede recuperar mensajes en lotes más pequeños y manejables. Esto es especialmente útil al trabajar con archivos de archivo muy grandes, ayudando a reducir el uso de memoria y mejorar el rendimiento durante el procesamiento.
Los siguientes métodos pueden usarse para la recuperación paginada de mensajes MBOX:
-
enumerate_messages(start_index, count) - Recupera un número específico de MailMessage instancias.
-
enumerate_message_info(start_index, count) - Recupera los correspondientes MboxMessageInfo objetos.
El siguiente ejemplo de código demuestra cómo leer y recuperar mensajes de un archivo MBOX en bloques manejables usando la biblioteca 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)