Ambil Pesan yang Difilter dari File MBOX dalam Python
Filter Pesan MBOX berdasarkan Subjek dan Tanggal
Aspose.Email untuk Python melalui .NET menyediakan kemampuan untuk menyaring atau mencari pesan dalam file MBOX menggunakan kueri. Metode berikut memungkinkan Anda mengambil hanya pesan-pesan yang cocok dengan kriteria tertentu:
- EnumerateMessages(MailQuery query) - mengembalikan koleksi yang dapat dienumerasi dari MailMessage instansi yang cocok dengan kueri yang ditentukan.
- EnumerateMessageInfo(MailQuery query) - mengembalikan koleksi yang dapat dienumerasi dari MboxMessageInfo instansi yang cocok dengan kueri yang ditentukan.
Contoh kode di bawah ini akan menunjukkan cara menggunakan metode ini dalam penyaringan pesan:
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)
Pengambilan Paginasi Pesan MBOX
Aspose.Email untuk Python via .NET mendukung pembacaan terpaginasikan file MBOX, memungkinkan pemrosesan arsip email besar secara efisien. Alih-alih memuat seluruh set pesan ke dalam memori, Anda dapat mengambil pesan dalam batch yang lebih kecil dan dapat dikelola. Ini sangat berguna saat menangani file arsip yang sangat besar, membantu mengurangi penggunaan memori dan meningkatkan kinerja selama pemrosesan.
Metode berikut dapat digunakan untuk pengambilan pesan MBOX secara terpaginasikan:
-
enumerate_messages(start_index, count) - Mengambil sejumlah tertentu MailMessage instance.
-
enumerate_message_info(start_index, count) - Mengambil yang sesuai MboxMessageInfo objek.
Contoh kode berikut menunjukkan cara membaca dan mengambil pesan dari file MBOX dalam potongan yang dapat dikelola menggunakan pustaka 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)