Iespējas un funkcionalitāte

Iespējas un funkcionalitāte

Šī lapa aptver katru galveno funkciju aspose-email-foss 26.3 ar strādājošiem Python piemēriem.


MSG failu lasīšana

Ielādējiet MSG failu un piekļūstiet tā galvenajām īpašībām:

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 failu izveide

Izveidojiet jaunu ziņojumu no nulles:

from aspose.email_foss.msg import MapiMessage

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

Iestatiet tematu un ķermeni esošam ziņojumam:

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

Saņēmēji

Pievienojiet saņēmējus ar parādāmajiem nosaukumiem un tipiem:

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

Pielikumi

Pievienojiet binārus failu pielikumus:

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

Iegult MSG ziņojumu kā iekļauto pielikumu:

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 īpašības

Lasiet un rakstiet MAPI īpašības pēc īpašības ID:

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

Iterējiet visas īpašības:

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

E-pasta konvertēšana

Konvertēt starp MSG (MAPI) un e-pasta (RFC 5322) formātiem:

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

Zema līmeņa CFB operācijas

Lasīt CFB konteineru struktūru tieši:

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

Rakstīt CFB dokumentus:

from aspose.email_foss.msg import MsgWriter

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

Padomi un labākā prakse

  • Vienmēr izsauciet msg.close() vai izmantojiet konteksta pārvaldnieku, kad pabeidzat lasīt, lai atbrīvotu failu rokturus
  • Izmantojiet msg.validation_issues lai pārbaudītu MSG formāta atbilstības problēmas
  • Šis strict parametrs MapiMessage.from_file() nosaka kļūdu toleranci — iestatiet uz False lai parsēšana būtu laida
  • Visi pievienojumu dati tiek ielādēti atmiņā from_file() — izmantojiet att.data lai piekļūtu baitiem tieši; iter_attachments_info() ir ērtības iteratora pār jau aizpildīto pievienojumu sarakstu
  • Izmantojiet to_email_string() ātrām teksta priekšskatījumiem bez pilna e-pasta objekta izveides

Biežāk sastopamās problēmas

ProblēmaIemeslsLabojums
CFBError ielādējotNav derīgs CFB/MSG failsPārbaudiet, vai fails ir īsts Outlook MSG
Tukšs ķermenis pēc ielādesĶermenis saglabāts tikai HTMLPārbaudīt msg.body_html nevis msg.body
Trūkstoši saņēmējiMSG nav saņēmēju krātuvesSaņēmēji ir neobligāti MSG formātā; pārbaudiet iter_attachments_info()

FAQ

Kādas MSG formāta versijas tiek atbalstītas?

Bibliotēka lasa un raksta MSG failus CFB v3 un v4 formātā, kas saderīgs ar Microsoft Outlook.

Vai varu lasīt EML failus?

Ne tieši. Bibliotēka apstrādā MSG formātu. Izmantojiet MapiMessage.from_email_message() lai konvertētu no RFC 5322 EmailMessage objektus.

Vai tiek atbalstīta pavedienu drošība?

Katrs MapiMessage un CFBReader instance ir neatkarīga. Vienlaicīga piekļuve atsevišķām instancēm no atsevišķām pavedieniem ir droša.


API atsauces kopsavilkums

Klase / MetodeApraksts
MapiMessageAugsta līmeņa MSG ziņojuma reprezentācija
MapiMessage.from_file()Ielādēt MSG failu
MapiMessage.create()Izveidot jaunu MSG ziņojumu
MapiMessage.save()Saglabāt kā MSG failu
MapiMessage.to_email_message()Pārveidot uz EmailMessage (RFC 5322)
MapiMessage.from_email_message()Pārveidot no EmailMessage uz MSG
MapiMessage.add_recipient()Pievienot saņēmēju
MapiMessage.add_attachment()Pievienot bināro pielikumu
MapiAttachmentPielikums ziņojumā
MapiRecipientSaņēmējs ziņojumā
MapiPropertyMAPI īpašības ieraksts
CFBReaderZema līmeņa CFB konteineru lasītājs
CFBWriterZema līmeņa CFB konteineru rakstītājs
MsgReaderZema līmeņa MSG struktūras lasītājs
 Latviešu