Python で MBOX ファイルからフィルタリングされたメッセージを取得
Contents
[
Hide
]
件名と日付で 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 for Python via .NET は MBOX ファイルのページング読み取りをサポートし、大規模なメールアーカイブの効率的な処理を可能にします。全メッセージセットをメモリにロードする代わりに、より小さく管理しやすいバッチでメッセージを取得できます。非常に大きなアーカイブファイルを扱う際に特に有用で、メモリ使用量の削減と処理性能の向上に寄与します。
以下のメソッドは、ページングされた MBOX メッセージ取得に使用できます。
-
enumerate_messages(start_index, count) - 特定数を取得します MailMessage インスタンス。
-
enumerate_message_info(start_index, count) - 対応するものを取得します MboxMessageInfo オブジェクト。
以下のコードサンプルは、Aspose.Email ライブラリを使用して MBOX ファイルからメッセージを適切なサイズのチャンクで読み取り取得する方法を示しています。
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)