Thunderbird ile Programlama
Mesajları Okuma
Mozilla Thunderbird, Mozilla Vakfı tarafından geliştirilen açık kaynaklı, çok platformlu bir e-posta istemcisidir. E-postaları kendi dosya yapısında saklar, mesaj indekslerini ve alt klasörleri sahiplenmiş dosya formatlarıyla yönetir. Aspose.Email, Thunderbird posta depolama yapılarıyla çalışabilir. MboxrdStorageReader sınıfı, geliştiricilerin Mozilla Thunderbird’ın posta depolama dosyasından mesajları okumasını sağlar. Bu makale, Thunderbird e-posta depolamasından mesajların nasıl okunacağını gösterir:
- Thunderbird’ın depolama dosyasını açın
- MboxrdStorageReader sınıfının bir örneğini oluşturun ve yukarıdaki akışı (stream) yapıcıya (constructor) aktarın.
- İlk mesajı almak için read_next_message() metodunu çağırın.
- Tüm mesajları okumak için aynı read_next_message() fonksiyonunu bir while döngüsü içinde kullanın.
- Tüm akışları kapat.
Aşağıdaki kod snippet’i, bir Thunderbird posta depolamasından tüm mesajları nasıl okuyacağınızı gösterir.
Mesaj özelliklerini alma
Bir Mbox dosyasından bilgi okumak ve elde etmek için Aspose.Email şunları sağlar: MboxStorageReader Mbox dosyası için bir okuyucu nesnesi oluşturmak üzere sınıf ve MboxLoadOptions dosyayı yüklemek için sınıf. Aşağıdaki özellikler MboxMessageInfo sınıf, belirli mesaj detaylarına erişmek ve görüntülemek için kullanılabilir:
- ‘date’ - Mesajın tarihini alır.
- ‘from_address’ - Gönderen adresini alır.
- ‘subject’ - Mesaj konusunu alır.
- ’to’ - Mesajın alıcılarını içeren adres koleksiyonunu alır.
- ‘cc’ - CC alıcılarını içeren adres koleksiyonunu alır.
- ‘bcc’ - Mesajın BCC alıcılarını içeren adres koleksiyonunu alır.
Aşağıdaki kod örneği, bu özelliklerin bir Mbox dosyasından mesaj bilgilerini okumak ve çıkarmak için nasıl kullanılacağını gösterir:
import aspose.email as ae
reader = ae.storage.mbox.MboxStorageReader.create_reader(file_name, ae.storage.mbox.MboxLoadOptions())
for mbox_message_info in reader.enumerate_message_info():
print(f"Subject: {mbox_message_info.subject}")
print(f"Date: {mbox_message_info.date}")
print(f"From: {mbox_message_info.from_address}")
print(f"To: {mbox_message_info.to}")
print(f"CC: {mbox_message_info.cc}")
print(f"Bcc: {mbox_message_info.bcc}")
MBOX’tan Tanımlayıcılara Göre Mesaj Çıkarma
MBOX dosyasından mesajları okumak için, Aspose.Email ‘create_reader()’ metodunu sağlar MboxStorageReader sınıf, dosya için bir okuyucu nesnesi oluşturur. Dosya adını ve MboxLoadOptions argüman olarak, kullanıcıya gerektiğinde MBOX dosyasını belirli seçeneklerle yükleme imkânı verir.
Mesajları çıkarmak için aşağıdaki yöntem ve özellikler kullanılır:
- sınıfının ’enumerate_message_info()’ metodu MboxStorageReader sınıf - MBOX dosyasındaki her mesajı döngüyle iterasyon yapar.
- sınıfının ’extract_message()’ metodu MboxStorageReader sınıf - Her mesajı Giriş ID’sine göre çıkarır.
- sınıfının ’entry_id’ özelliği MboxMessageInfo sınıf - Giriş tanımlayıcısını alır.
Son olarak, mesaj aşağıdaki kullanılarak EML formatına dönüştürülür EmlLoadOptions.
Aşağıdaki kod örneği, bu özelliklerin bir MBOX dosyasından mesajları okumak ve çıkarmak için nasıl kullanılacağını gösterir:
import aspose.email as ae
reader = ae.storage.mbox.MboxStorageReader.create_reader("my.mbox", ae.storage.mbox.MboxLoadOptions())
for mbox_message_info in reader.enumerate_message_info():
eml = reader.extract_message(mbox_message_info.entry_id, ae.EmlLoadOptions())
MBOX’dan mesaj okurken yükleme seçeneklerini yapılandırma
Aspose.Email ile EmlLoadOptions sınıf, Eml formatından MailMessage yüklerken ek seçenekler belirlemenizi sağlar. Örneğin, ‘preserve_tnef_attachments’ özelliğiyle bir EML dosyası yüklerken TNEF eklerini koruma seçeneğini ayarlayabilirsiniz. EmlLoadOptions sınıf.
Belirtilen yükleme seçeneklerini kullanarak, ‘read_next_message’ yöntemiyle mbox dosyasından bir sonraki e-posta mesajını okuyabilirsiniz MboxStorageReader sınıf ve dosyayı, ‘mbox_to_pst’ yöntemiyle PST formatına dönüştürür MailStorageConverter sınıf .
Aşağıdaki kod örneği, bu yöntem ve özelliklerin e-posta depolama dosyalarıyla çalışmak için nasıl kullanılacağını gösterir; mbox formatından mesaj okuma, TNEF eklerini koruma ve mesajları mbox’tan pst formatına dönüştürme gibi.
import aspose.email as ae
reader = ae.storage.mbox.MboxrdStorageReader(fileName, ae.storage.mbox.MboxLoadOptions())
# Read messages preserving tnef attachments.
load_options = ae.EmlLoadOptions()
load_options.preserve_tnef_attachments = True
eml = reader.read_next_message(load_options)
ae.storage.MailStorageConverter.MboxMessageOptions(load_options)
# Convert messages from mbox to pst preserving tnef attachments.
pst = ae.storage.MailStorageConverter.mbox_to_pst("Input.mbox", "Output.pst")
Mbox Dosyalarını Okumak İçin Yüklerken Tercih Edilen Metin Kodlamasını Ayarlama
MBOX dosyası yüklenirken kullanılacak metin kodlamasını belirtebilirsiniz. ‘preferred_text_encoding’ özelliği, MboxLoadOptions sınıf, ek bir seçenek ayarlar ve kodlanmış içeriğe sahip bir mesajın doğru şekilde okunup işlenmesini sağlar.
Aşağıdaki kod parçacığı, bu özelliğin bir projede nasıl kullanılacağını gösterir:
import aspose.email as ae
load_options = ae.storage.mbox.MboxLoadOptions()
load_options.preferred_text_encoding = 'utf-8'
reader = ae.storage.mbox.MboxrdStorageReader("sample.mbox", load_options)
message = reader.read_next_message()
MBOX’dan PST’ye Dönüştürürken İmza Koruma ya da Kaldırma
Dönüştürme işlemi sırasında bir dosyadan imzayı kaldırmak için, MboxToPstConversionOptions.remove_signature özelliğini true olarak ayarlayın.
Aşağıdaki kod örneği bu özelliğin nasıl kullanılacağını gösterir:
import aspose.email as ae
personalStorage = ae.storage.pst.PersonalStorage.create("target.pst", ae.storage.pst.FileFormatVersion.UNICODE)
conversion_options = ae.storage.MboxToPstConversionOptions()
conversion_options.remove_signature = True
ae.storage.MailStorageConverter.mbox_to_pst( ae.storage.mbox.MboxrdStorageReader("source.mbox", ae.storage.mbox.MboxLoadOptions()), personalStorage, "Inbox", conversion_options)
Mesaj Yazma
MboxrdStorageWriter sınıfı, yeni mesajları Thunderbird’ın posta depolama dosyasına yazma imkânı sağlar. Mesajları yazmak için:
- Thunderbird depolama dosyasını FileStream içinde açın.
- MboxrdStorageWriter sınıfının bir örneğini oluşturun ve yukarıdaki akışı (stream) yapıcıya aktarın.
- MailMessage sınıfını kullanarak yeni bir mesaj hazırlayın.
- write_message() metodunu çağırın ve yukarıdaki MailMessage örneğini geçerek mesajı Thunderbird depolamasına ekleyin.
- Tüm akışları kapat.
Aşağıdaki kod snippet’i, mesajların Thunderbird posta depolamasına nasıl yazıldığını gösterir.
MBox Dosyasından Toplam Mesaj Sayısını Alma
MboxrdStorageReader sınıfı, bir MBox dosyasında mevcut öğe sayısını okuma yeteneği sağlar. Bu, dosya işlenirken aktivite ilerlemesini gösteren uygulamalar geliştirmek için kullanılabilir.