Značajke i funkcionalnosti

Značajke i funkcionalnosti

Ova stranica pokriva svaku glavnu značajku aspose-email-foss 26.3 s radnim Python primjerima.


Čitanje MSG datoteka

Učitajte MSG datoteku i pristupite njezinim osnovnim svojstvima:

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

Stvaranje MSG datoteka

Stvorite novu poruku od početka:

from aspose.email_foss.msg import MapiMessage

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

Postavite predmet i tijelo u postojećoj poruci:

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

Primatelji

Dodajte primatelje s prikaznim imenima i vrstama:

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

Privitci

Dodajte binarne privitke datoteka:

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

Umetnite MSG poruku kao ugniježđeni privitak:

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 svojstva

Čitajte i pišite MAPI svojstva po ID‑u svojstva:

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

Iterirajte kroz sva svojstva:

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

Konverzija e-pošte

Pretvarajte između MSG (MAPI) i e-pošte (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 CFB

Izravno pročitajte strukturu CFB kontejnera:

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

Zapišite CFB dokumente:

from aspose.email_foss.msg import MsgWriter

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

Savjeti i najbolje prakse

  • Uvijek pozovite msg.close() ili koristite upravitelj kontekstom kada završite s čitanjem kako biste oslobodili rukovatelje datoteka
  • Koristite msg.validation_issues za provjeru problema s usklađenošću MSG formata
  • The strict parametar u MapiMessage.from_file() kontrolira toleranciju grešaka — postavite na False za popustljivo parsiranje
  • Svi podaci privitaka učitavaju se u memoriju tijekom from_file() — koristite att.data za izravan pristup bajtovima; iter_attachments_info() je praktični iterator preko već popunjenog popisa privitaka
  • Koristite to_email_string() za brze prikaze teksta bez potpunog stvaranja objekta e‑mail

Uobičajeni problemi

ProblemUzrokIspravak
CFBError prilikom učitavanjaNije valjana CFB/MSG datotekaProvjerite je li datoteka stvarni Outlook MSG
Prazno tijelo nakon učitavanjaTijelo je pohranjeno samo u HTML-uProvjeri msg.body_html umjesto msg.body
Nedostaju primateljiMSG nema spremišta primateljaPrimatelji su opcionalni u MSG formatu; provjeri iter_attachments_info()

FAQ

Koje su verzije MSG formata podržane?

Biblioteka čita i zapisuje MSG datoteke u CFB v3 i v4 formatu, kompatibilne s Microsoft Outlookom.

Mogu li čitati EML datoteke?

Ne izravno. Biblioteka obrađuje MSG format. Koristite MapiMessage.from_email_message() za pretvorbu iz RFC 5322 EmailMessage objekte.

Je li podržana sigurnost u višedretvenom okruženju?

Svaki MapiMessage i CFBReader instanca je neovisna. Istovremeni pristup odvojenim instancama iz odvojenih niti je siguran.


Sažetak API referencije

Klasa / MetodaOpis
MapiMessageVisokorazinski MSG prikaz poruke
MapiMessage.from_file()Učitaj MSG datoteku
MapiMessage.create()Kreiraj novu MSG poruku
MapiMessage.save()Spremi 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 primatelja
MapiMessage.add_attachment()Dodaj binarni privitak
MapiAttachmentPrivitak na poruku
MapiRecipientPrimatelj u poruci
MapiPropertyMAPI unos svojstva
CFBReaderNiskorazinski čitač CFB kontejnera
CFBWriterNiskorazinski pisac CFB kontejnera
MsgReaderNiskorazinski čitač MSG strukture
 Hrvatski