Funkcije i funkcionalnosti
Funkcije i funkcionalnosti
Ova stranica pokriva svaku glavnu funkcionalnost aspose-email-foss 26.3 sa radnim Python primerima.
Čitanje MSG fajlova
Učitajte MSG fajl i pristupite njegovim osnovnim svojstvima:
from aspose.email_foss.msg.message 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()}")Kreiranje MSG fajlova
Kreirajte novu poruku od nule:
from aspose.email_foss.msg.message import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")Postavite temu i telo u postojećoj poruci:
msg.subject("Updated Subject")
msg.body("Updated body text")
msg.save("updated.msg")Primaoci
Dodajte primaoce sa prikaznim imenima i tipovima:
from aspose.email_foss.msg.message import MapiMessage
msg = MapiMessage.create("Hello", "Message body")
msg.add_recipient("alice@example.com", "Alice Smith", "to")
msg.add_recipient("bob@example.com", "Bob Jones", "cc")
msg.save("with_recipients.msg")Prilozi
Dodajte binarne fajl priloge:
with open("report.pdf", "rb") as f:
data = f.read()
msg.add_attachment("report.pdf", data, "application/pdf")
msg.save("with_attachment.msg")Umetnite MSG poruku kao ugnježdeni prilog:
inner = MapiMessage.create("Inner Subject", "Inner body")
msg.add_embedded_message_attachment(inner, "embedded.msg", "application/vnd.ms-outlook")
msg.save("with_embedded.msg")MAPI svojstva
Čitajte i pišite MAPI svojstva po ID‑u svojstva:
from aspose.email_foss.msg.property_ids import CommonMessagePropertyId
# Read a property
subject = msg.get_property(CommonMessagePropertyId.SUBJECT)
# Set a property
msg.set_property(CommonMessagePropertyId.SUBJECT, "New Subject")Iterirajte sva svojstva:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag():#010x}")Konverzija e‑mailova
Konvertujte između MSG (MAPI) i e‑mail (RFC 5322) formata:
# 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")Operacije niskog nivoa nad CFB-om
Direktno pročitajte strukturu CFB kontejnera:
from aspose.email_foss.cfb.reader 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()Pišite CFB dokumente:
from aspose.email_foss.cfb.writer import CFBWriter
from aspose.email_foss.cfb.document import CFBDocument
doc = msg.to_msg_document().to_cfb_document()
CFBWriter.write_file(doc, "output.msg")Saveti i najbolje prakse
- Uvek pozovite
msg.close()ili koristite menadžer konteksta kada završite sa čitanjem da oslobodite rukovanja fajlovima - Koristite
msg.validation_issues()da proverite probleme usklađenosti MSG formata - The
strictparametar uMapiMessage.from_file()kontroliše toleranciju greške — postavite naFalseza popustljivo parsiranje - Binarni podaci priloga se ne učitavaju u memoriju dok se ne pristupi; iterirajte
iter_attachments_info()samo za metapodatke - Koristite
to_email_string()za brze tekstualne preglede bez potpunog konstruisanja objekta e‑maila
Uobičajeni problemi
| Problem | Uzrok | Ispravka |
|---|---|---|
CFBError prilikom učitavanja | Nije validna CFB/MSG datoteka | Proverite da je datoteka stvarni Outlook MSG |
| Prazno telo nakon učitavanja | Telo je sačuvano samo u HTML-u | Proveri msg.body_html() umesto msg.body() |
| Nedostaju primaoci | MSG nema skladišta primaoca | Primaoci su opcioni u MSG formatu; proverite iter_attachments_info() |
FAQ
Koje verzije MSG formata su podržane?
Biblioteka čita i piše MSG fajlove u CFB v3 i v4 formatu, kompatibilnim sa Microsoft Outlook-om.
Mogu li da čitam EML fajlove?
Ne direktno. Biblioteka obrađuje MSG format. Koristite MapiMessage.from_email_message() za konverziju iz RFC 5322 EmailMessage objekte.
Da li je podržana sigurnost u više niti?
Svaki MapiMessage i CFBReader instanca je nezavisna. Konkurenčni pristup odvojenim instancama iz odvojenih niti je siguran.
Sažetak API Reference
| Klasa / Metod | Opis |
|---|---|
MapiMessage | Visokonivojsko MSG predstavljanje poruke |
MapiMessage.from_file() | Učitaj MSG datoteku |
MapiMessage.create() | Kreiraj novu MSG poruku |
MapiMessage.save() | Sačuvaj u MSG datoteku |
MapiMessage.to_email_message() | Pretvori u EmailMessage (RFC 5322) |
MapiMessage.from_email_message() | Pretvori iz EmailMessage u MSG |
MapiMessage.add_recipient() | Dodaj primaoca |
MapiMessage.add_attachment() | Dodaj binarni prilog |
MapiAttachment | Prilog na poruci |
MapiRecipient | Primaoc na poruci |
MapiProperty | MAPI unos svojstva |
CFBReader | Čitač CFB kontejnera niskog nivoa |
CFBWriter | Niskonivojski CFB kontejner pisac |
MsgReader | Čitač MSG strukture niskog nivoa |