Python'da MSG Dosyalarını Nasıl Ayrıştırılır

Python'da MSG Dosyalarını Nasıl Ayrıştırılır

aspose-email-foss for Python, Microsoft Office bağımlılıkları olmadan Outlook MSG dosyalarını okuyan saf bir Python API’si sağlar. Tüm mesaj verilerine erişmek için bir dosyayı MapiMessage nesnesine yükleyin.

Adım Adım Kılavuz

Adım 1: Paketi Yükleyin

pip install aspose-email-foss

Python 3.10 veya üzeri gerekir.


Adım 2: MapiMessage Sınıfını İçe Aktar

from aspose.email_foss.msg import MapiMessage

Adım 3: MSG Dosyası Yükle

msg = MapiMessage.from_file("message.msg")

Bozuk dosyaların hoşgörülü ayrıştırılması için strict=False parametresini geçin:

msg = MapiMessage.from_file("message.msg", strict=False)

Adım 4: Mesaj Özelliklerine Erişme

print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html[:200] if msg.body_html else 'None'}")
print(f"Message Class: {msg.message_class}")

Adım 5: Ekleri Listele

for att in msg.iter_attachments_info():
    name = att.storage_name
    is_embedded = att.is_embedded_message
    print(f"Attachment: {name}, embedded={is_embedded}")

Adım 6: Düşük Seviyeli CFB Yapısını İncele

from aspose.email_foss.cfb import CFBReader

reader = CFBReader.from_file("message.msg")
print(f"Directory entries: {reader.directory_entry_count}")
for entry in reader.iter_streams():
    print(f"  Stream: {entry}")
reader.close()

Yaygın Sorunlar ve Çözümler

CFBError yüklenirken

Dosya geçerli bir CFB konteyneri değil. Gerçek bir Outlook MSG dosyası olduğunu, EML olmadığını doğrulayın.

Gövde boş, ancak HTML gövdesi içerik içeriyor

Bazı mesajlar içeriği yalnızca HTML’de depolar. msg.body None döndürdüğünde msg.body_html kontrol edin.

Doğrulama uyarıları

Yüklenen dosya için uyumluluk uyarılarının bir demetini görmek üzere msg.validation_issues‘e erişin.


Sıkça Sorulan Sorular (SSS)

EML dosyalarını okuyabilir miyim?

Doğrudan değil. Kütüphane MSG (CFB) formatını işler. EML içeriğini önce bir EmailMessage nesnesine dönüştürün, ardından MapiMessage.from_email_message() kullanın.

Yükleme, tüm ek verilerini belleğe okur mu?

Hayır. Ek meta verileri talep üzerine okunur. Hafif yineleme için iter_attachments_info() kullanın.

İş parçacığı güvenli mi?

Her MapiMessage örneği bağımsızdır. Ayrı örneklerden eşzamanlı okuma güvenlidir.

 Türkçe