استخراج الرسائل المصفّاة من ملفات MBOX في Python

تصفية رسائل MBOX حسب الموضوع والتاريخ

توفر Aspose.Email for Python عبر .NET القدرة على تصفية أو البحث عن الرسائل داخل ملفات MBOX باستخدام استعلام. تسمح الأساليب التالية باسترجاع الرسائل التي تطابق معايير محددة فقط:

ستظهر لك عينة الشيفرة أدناه كيفية استخدام هذه الأساليب في تصفية الرسائل:

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 بطريقة مقسمة على صفحات:

يعرض مثال الشيفرة التالي كيفية قراءة واسترجاع الرسائل من ملف 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)