Récupérer les messages filtrés depuis les fichiers MBOX en Python
Filtrer les messages MBOX par sujet et date
Aspose.Email pour Python via .NET offre la possibilité de filtrer ou de rechercher des messages dans des fichiers MBOX à l’aide d’une requête. Les méthodes suivantes vous permettent de récupérer uniquement les messages qui répondent à des critères spécifiques :
- EnumerateMessages(MailQuery query) - renvoie une collection énumérable de MailMessage instances qui correspondent à la requête spécifiée.
- EnumerateMessageInfo(MailQuery query) - renvoie une collection énumérable de MboxMessageInfo instances qui correspondent à la requête spécifiée.
L’exemple de code ci‑dessous vous montrera comment utiliser ces méthodes dans le filtrage des messages :
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)
Récupération paginée des messages MBOX
Aspose.Email pour Python via .NET prend en charge la lecture paginée des fichiers MBOX, permettant un traitement efficace de larges archives e‑mail. Au lieu de charger l’ensemble complet des messages en mémoire, vous pouvez récupérer les messages par lots plus petits et gérables. Cela est particulièrement utile lorsqu’on travaille avec des fichiers d’archives très volumineux, aidant à réduire l’utilisation de la mémoire et à améliorer les performances lors du traitement.
Les méthodes suivantes peuvent être utilisées pour la récupération paginée de messages MBOX :
-
enumerate_messages(start_index, count) - Récupère un nombre spécifique de MailMessage instances.
-
enumerate_message_info(start_index, count) - Récupère les correspondants MboxMessageInfo objets.
L’exemple de code suivant montre comment lire et récupérer des messages depuis un fichier MBOX par blocs gérables en utilisant la bibliothèque 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)