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:

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:

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)