Özellikler ve İşlevsellikler

Özellikler ve İşlevsellikler

Özellikler ve İşlevsellikler

Bu sayfa, her ana özelliği kapsar aspose-email-foss 26.3 çalışan Python örnekleriyle.


MSG Dosyalarını Okuma

Bir MSG dosyası yükleyin ve temel özelliklerine erişin:

from aspose.email_foss.msg import MapiMessage

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

print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html}")
print(f"Message Class: {msg.message_class}")

MSG Dosyaları Oluşturma

Sıfırdan yeni bir mesaj oluşturun:

from aspose.email_foss.msg import MapiMessage

msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")

Mevcut bir mesajın konu ve gövdesini ayarlayın:

msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")

Alıcılar

Görünen adlar ve türlerle alıcı ekleyin:

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

msg = MapiMessage.create("Hello", "Message body")
msg.add_recipient("alice@example.com", display_name="Alice Smith")
msg.add_recipient("bob@example.com", display_name="Bob Jones", recipient_type=RECIPIENT_TYPE_CC)
msg.save("with_recipients.msg")

Ekler

İkili dosya ekleri ekleyin:

with open("report.pdf", "rb") as f:
    data = f.read()

msg.add_attachment("report.pdf", data, mime_type="application/pdf")
msg.save("with_attachment.msg")

Bir MSG mesajını iç içe ek olarak gömün:

inner = MapiMessage.create("Inner Subject", "Inner body")
msg.add_embedded_message_attachment(inner, filename="embedded.msg", mime_type="application/vnd.ms-outlook")
msg.save("with_embedded.msg")

MAPI Özellikleri

MAPI özelliklerini özellik kimliğine göre okuyun ve yazın:

from aspose.email_foss.msg import PropertyId

# Read a property
subject = msg.get_property(PropertyId.SUBJECT)

# Set a property
msg.set_property(PropertyId.SUBJECT, "New Subject")

Tüm özellikleri yineleyin:

for prop in msg.iter_properties():
    print(f"Tag: {prop.property_tag:#010x}")

E-posta Dönüştürme

MSG (MAPI) ve e-posta (RFC 5322) formatları arasında dönüştürün:

# MSG to email string
email_str = msg.to_email_string()
print(email_str[:500])

# MSG to EmailMessage object
email_msg = msg.to_email_message()

# EmailMessage back to MapiMessage
msg2 = MapiMessage.from_email_message(email_msg)
msg2.save("roundtrip.msg")

Düşük Seviyeli CFB İşlemleri

CFB konteyner yapısını doğrudan okuyun:

from aspose.email_foss.cfb import CFBReader

reader = CFBReader.from_file("message.msg")
print(f"File size: {reader.file_size} bytes")
print(f"Sectors: {reader.fat_sector_count}")
print(f"Entries: {reader.directory_entry_count}")

for entry in reader.iter_storages():
    print(f"Storage: {entry}")

for entry in reader.iter_streams():
    print(f"Stream: {entry}")

reader.close()

CFB belgelerini yazın:

from aspose.email_foss.msg import MsgWriter

data = msg.to_bytes()
with open("output.msg", "wb") as f:
    f.write(data)

İpuçları ve En İyi Uygulamalar

  • Her zaman çağırın msg.close() veya okuma işlemi tamamlandığında dosya tutucularını serbest bırakmak için bir bağlam yöneticisi kullanın
  • Kullanın msg.validation_issues MSG formatı uyumluluk sorunlarını kontrol etmek için
  • Bu strict parametresi MapiMessage.from_file() hata toleransını kontrol eder — şunu ayarlayın False gevşek ayrıştırma için
  • Tüm ek veri, … sırasında belleğe yüklenir from_file() — kullan att.data baytlara doğrudan erişmek için; iter_attachments_info() zaten doldurulmuş ekler listesi üzerinde bir kullanışlı yineleyicidir
  • Kullanın to_email_string() tam e-posta nesnesi oluşturulmadan hızlı metin önizlemeleri için

Yaygın Sorunlar

SorunNedenDüzeltme
CFBError yüklenirkenGeçerli bir CFB/MSG dosyası değilDosyanın gerçek bir Outlook MSG olduğundan emin olun
Yüklemeden sonra boş gövdeGövde yalnızca HTML olarak depolanmışKontrol et msg.body_html yerine msg.body
Alıcılar eksikMSG’nin alıcı depolamaları yokAlıcılar MSG formatında isteğe bağlıdır; kontrol edin iter_attachments_info()

FAQ

Hangi MSG format sürümleri destekleniyor?

Kütüphane, Microsoft Outlook ile uyumlu CFB v3 ve v4 formatında MSG dosyalarını okur ve yazar.

EML dosyalarını okuyabilir miyim?

Doğrudan değil. Kütüphane MSG formatını yönetir. Kullan MapiMessage.from_email_message() RFC 5322’den dönüştürmek için EmailMessage nesneler.

İş parçacığı güvenliği destekleniyor mu?

Her MapiMessage ve CFBReader örnek bağımsızdır. Ayrı iş parçacıklarından ayrı örneklere eşzamanlı erişim güvenlidir.


API Referans Özeti

Sınıf / MetotAçıklama
MapiMessageYüksek seviyeli MSG mesaj temsili
MapiMessage.from_file()MSG dosyasını yükle
MapiMessage.create()Yeni bir MSG mesajı oluştur
MapiMessage.save()MSG dosyasına kaydet
MapiMessage.to_email_message()EmailMessage (RFC 5322)‘ye dönüştür
MapiMessage.from_email_message()EmailMessage’den MSG’ye dönüştür
MapiMessage.add_recipient()Bir alıcı ekle
MapiMessage.add_attachment()İkili bir ek ekle
MapiAttachmentMesaj üzerindeki ek
MapiRecipientMesaj üzerindeki alıcı
MapiPropertyMAPI özelliği girişi
CFBReaderDüşük seviyeli CFB konteyner okuyucu
CFBWriterDüşük seviyeli CFB konteyner yazıcı
MsgReaderDüşük seviyeli MSG yapısı okuyucu
 Türkçe