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_issuesaz MSG formátum megfelelőségi problémáinak ellenőrzéséhez - A
strictparaméter aMapiMessage.from_file()vezérli a hibatűrést — állítsaFalsea lazább elemzéshez - Minden melléklet adat a memóriába töltődik a
from_file()— használjaatt.dataa 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éma | Ok | Javítás |
|---|---|---|
CFBError betöltéskor | Érvénytelen CFB/MSG fájl | Ellenőrizze, hogy a fájl valódi Outlook MSG |
| Üres törzs a betöltés után | A törzs csak HTML-ben van tárolva | Ellenőrzés msg.body_html helyett msg.body |
| Hiányzó címzettek | A MSG-nek nincs címzett tárolója | A 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ódus | Leírás |
|---|---|
MapiMessage | Magas 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 |
MapiAttachment | Melléklet egy üzeneten |
MapiRecipient | Címzett egy üzeneten |
MapiProperty | MAPI tulajdonság bejegyzés |
CFBReader | Alacsony szintű CFB konténer olvasó |
CFBWriter | Alacsony szintű CFB konténer író |
MsgReader | Alacsony szintű MSG struktúra olvasó |