Lấy Các Tin Nhắn Được Lọc từ Tệp MBOX trong Python

Lọc tin nhắn MBOX theo Chủ đề và Ngày

Aspose.Email cho Python thông qua .NET cung cấp khả năng lọc hoặc tìm kiếm tin nhắn trong các tệp MBOX bằng truy vấn. Các phương pháp sau cho phép bạn chỉ lấy những tin nhắn phù hợp với tiêu chí cụ thể:

Đoạn mã mẫu dưới đây sẽ cho bạn thấy cách sử dụng các phương pháp này trong việc lọc tin nhắn:

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)

Truy xuất phân trang các tin nhắn MBOX

Aspose.Email cho Python qua .NET hỗ trợ đọc phân trang các tệp MBOX, cho phép xử lý hiệu quả các kho lưu trữ email lớn. Thay vì tải toàn bộ tập tin tin nhắn vào bộ nhớ, bạn có thể lấy các tin nhắn theo các lô nhỏ, dễ quản lý. Điều này đặc biệt hữu ích khi làm việc với các tệp lưu trữ rất lớn, giúp giảm việc sử dụng bộ nhớ và cải thiện hiệu năng trong quá trình xử lý.

Các phương thức sau có thể được sử dụng để truy xuất tin nhắn MBOX theo dạng phân trang:

Đoạn mã mẫu dưới đây minh họa cách đọc và lấy các tin nhắn từ tệp MBOX theo các khối quản lý được bằng cách sử dụng thư viện 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)