Python'da MBOX Dosyalarından Filtrelenmiş Mesajları Al
MBOX Mesajlarını Konu ve Tarihe Göre Filtrele
Aspose.Email for Python via .NET, MBOX dosyaları içinde bir sorgu kullanarak mesajları filtreleme veya arama yeteneği sağlar. Aşağıdaki yöntemler, belirli kriterlere uyan yalnızca bu mesajları almanıza olanak tanır:
- EnumerateMessages(MailQuery query) - bir yinelenebilir koleksiyon döndürür MailMessage belirtilen sorguya uyan örnekler.
- EnumerateMessageInfo(MailQuery query) - bir yinelenebilir koleksiyon döndürür MboxMessageInfo belirtilen sorguya uyan örnekler.
Aşağıdaki kod örneği, bu yöntemleri mesaj filtrelemede nasıl kullanacağınızı gösterir:
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 Mesajlarının Sayfalı Alınması
Aspose.Email for Python via .NET, büyük e-posta arşivlerini verimli bir şekilde işlemek için MBOX dosyalarının sayfalı okunmasını destekler. Tüm mesaj kümesini belleğe yüklemek yerine, mesajları daha küçük, yönetilebilir partiler halinde alabilirsiniz. Bu, özellikle çok büyük arşiv dosyalarıyla uğraşırken bellek kullanımını azaltmaya ve işleme sırasında performansı artırmaya yardımcı olur.
Aşağıdaki yöntemler, sayfalı MBOX mesaj alma için kullanılabilir:
-
enumerate_messages(start_index, count) - Belirli sayıda alır MailMessage örnekleri.
-
enumerate_message_info(start_index, count) - İlgili olanları alır MboxMessageInfo nesneler.
Aşağıdaki kod örneği, Aspose.Email kütüphanesini kullanarak bir MBOX dosyasından mesajları yönetilebilir parçalar halinde okuma ve alma işlemini gösterir:
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)