دریافت پیامهای فیلترشده از فایلهای MBOX در پایتون
فیلتر کردن پیامهای MBOX بر اساس موضوع و تاریخ
Aspose.Email برای Python از طریق .NET امکان فیلتر یا جستجوی پیامها در فایلهای MBOX را با استفاده از یک query فراهم میکند. متدهای زیر به شما اجازه میدهند تنها پیامهایی را که با معیارهای خاص مطابقت دارند بازیابی کنید:
- EnumerateMessages(MailQuery query) - یک مجموعه قابل شمارش از را بازمیگرداند MailMessage نمونههایی که با query (پرسوجو) مشخصشده مطابقت دارند.
- EnumerateMessageInfo(MailQuery query) - یک مجموعه قابل شمارش از را بازمیگرداند MboxMessageInfo نمونههایی که با query (پرسوجو) مشخصشده مطابقت دارند.
نمونه کد زیر به شما نشان میدهد چگونه از این متدها در فیلتر کردن پیامها استفاده کنید:
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 برای پایتون از طریق .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)