Jellemzők és funkciók

Jellemzők és funkciók

Ez az oldal lefedi a(z) minden fő funkciót aspose-email-foss 26.3 működő Python példákkal.


MSG fájlok olvasása

Töltsön be egy MSG fájlt, és érje el annak alapvető tulajdonságait:

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 fájlok létrehozása

Hozzon létre egy új üzenetet a semmiből:

from aspose.email_foss.msg import MapiMessage

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

Állítsa be a tárgyat és a törzset egy meglévő üzenetben:

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

Címzettek

Címzettek hozzáadása megjelenített nevekkel és típusokkal:

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")

Mellékletek

Bináris fájl mellékletek hozzáadása:

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")

Ágyazzon be egy MSG üzenetet beágyazott mellékletként:

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 tulajdonságok

MAPI tulajdonságok olvasása és írása tulajdonságazonosító alapjá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")

Az összes tulajdonság bejárása:

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

E-mail átalakítás

Átalakítás MSG (MAPI) és e-mail (RFC 5322) formátumok között:

# 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")

Alacsony szintű CFB műveletek

CFB konténer struktúrájának közvetlen olvasása:

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 dokumentumok írása:

from aspose.email_foss.msg import MsgWriter

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

Tippek és bevált gyakorlatok

  • Mindig hívja msg.close() vagy használjon kontextuskezelőt, amikor befejezte az olvasást, a fájlkezelők felszabadításához
  • Használja msg.validation_issues az MSG formátum megfelelőségi problémáinak ellenőrzéséhez
  • A strict paraméter a MapiMessage.from_file() vezérli a hibatűrést — állítsa False a lazább elemzéshez
  • Minden melléklet adat a memóriába töltődik a from_file() — használja att.data a bájtok közvetlen eléréséhez; iter_attachments_info() egy kényelmi iterátor a már feltöltött mellékletek listáján
  • Használja to_email_string() gyors szöveg előnézetekhez a teljes e‑mail objektum felépítése nélkül

Gyakori problémák

ProblémaOkJavítás
CFBError betöltéskorÉrvénytelen CFB/MSG fájlEllenőrizze, hogy a fájl valódi Outlook MSG
Üres törzs a betöltés utánA törzs csak HTML-ben van tárolvaEllenőrzés msg.body_html helyett msg.body
Hiányzó címzettekA MSG-nek nincs címzett tárolójaA címzettek opcionálisak az MSG formátumban; ellenőrizze iter_attachments_info()

FAQ

Mely MSG formátum verziók támogatottak?

A könyvtár CFB v3 és v4 formátumú MSG fájlokat olvas és ír, amelyek kompatibilisek a Microsoft Outlook-dal.

Olvashatok EML fájlokat?

Nem közvetlenül. A könyvtár kezeli az MSG formátumot. Használja MapiMessage.from_email_message() az RFC 5322-ből való konvertáláshoz EmailMessage objektumok.

Támogatott a szálbiztonság?

Minden MapiMessage és CFBReader példány független. Különálló példányok párhuzamos hozzáférése külön szálakról biztonságos.


API Referencia Összefoglaló

Osztály / MetódusLeírás
MapiMessageMagas szintű MSG üzenetábrázolás
MapiMessage.from_file()MSG fájl betöltése
MapiMessage.create()Új MSG üzenet létrehozása
MapiMessage.save()Mentés MSG fájlba
MapiMessage.to_email_message()Átalakítás EmailMessage-re (RFC 5322)
MapiMessage.from_email_message()Átalakítás EmailMessage-ből MSG-be
MapiMessage.add_recipient()Címzett hozzáadása
MapiMessage.add_attachment()Bináris melléklet hozzáadása
MapiAttachmentMelléklet egy üzeneten
MapiRecipientCímzett egy üzeneten
MapiPropertyMAPI tulajdonság bejegyzés
CFBReaderAlacsony szintű CFB konténer olvasó
CFBWriterAlacsony szintű CFB konténer író
MsgReaderAlacsony szintű MSG struktúra olvasó
 Magyar