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 strict parametar u MapiMessage.from_file() kontroliše toleranciju greške — postavite na False za 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

ProblemUzrokIspravka
CFBError prilikom učitavanjaNije validna CFB/MSG datotekaProverite da je datoteka stvarni Outlook MSG
Prazno telo nakon učitavanjaTelo je sačuvano samo u HTML-uProveri msg.body_html() umesto msg.body()
Nedostaju primaociMSG nema skladišta primaocaPrimaoci 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 / MetodOpis
MapiMessageVisokonivojsko 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
MapiAttachmentPrilog na poruci
MapiRecipientPrimaoc na poruci
MapiPropertyMAPI unos svojstva
CFBReaderČitač CFB kontejnera niskog nivoa
CFBWriterNiskonivojski CFB kontejner pisac
MsgReaderČitač MSG strukture niskog nivoa
 Српски