שחזר הודעות מסוננות מקבצי MBOX ב‑Python
סינון הודעות MBOX לפי נושא ותאריך
Aspose.Email for Python via .NET מספקת את היכולת לסנן או לחפש הודעות בתוך קובצי MBOX באמצעות שאילתה. השיטות הבאות מאפשרות לך לאחזר רק את ההודעות המתאימות לקריטריונים ספציפיים:
- EnumerateMessages(MailQuery query) - מחזיר אוסף שניתן לאיטרציה של MailMessage מופעים המתאימים לשאילתה שצוינה.
- EnumerateMessageInfo(MailQuery query) - מחזיר אוסף שניתן לאיטרציה של MboxMessageInfo מופעים המתאימים לשאילתה שצוינה.
דוגמת הקוד שלהלן תציג כיצד להשתמש בשיטות אלה בסינון הודעות:
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)
שליפה מדורגת של הודעות MBOX
Aspose.Email עבור Python דרך .NET תומכת בקריאה בדפדוף של קובצי MBOX, מה שמאפשר עיבוד יעיל של ארכיוני אימייל גדולים. במקום לטעון את כל קבוצת ההודעות בזיכרון, ניתן לקבל הודעות בקבוצות קטנות יותר, ניתנות לניהול. זה שימושי במיוחד בעת טיפול בקבצי ארכיון גדולים מאוד, ומסייע להפחתת שימוש בזיכרון ולשיפור הביצועים במהלך העיבוד.
המתודות הבאות ניתנות לשימוש לשחזור הודעות MBOX בדפים:
-
enumerate_messages(start_index, count) - משיג מספר ספציפי של MailMessage מופעים.
-
enumerate_message_info(start_index, count) - מחזיר את המתאימים MboxMessageInfo אובייקטים.
קוד הדוגמה הבא מדגים כיצד לקרוא ולהשיג הודעות מקובץ MBOX בחלקים ניתנים לניהול באמצעות ספריית 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)