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_issueslai pārbaudītu MSG formāta atbilstības problēmas - Šis
strictparametrsMapiMessage.from_file()nosaka kļūdu toleranci — iestatiet uzFalselai parsēšana būtu laida - Visi pievienojumu dati tiek ielādēti atmiņā
from_file()— izmantojietatt.datalai 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ēma | Iemesls | Labojums |
|---|---|---|
CFBError ielādējot | Nav derīgs CFB/MSG fails | Pārbaudiet, vai fails ir īsts Outlook MSG |
| Tukšs ķermenis pēc ielādes | Ķermenis saglabāts tikai HTML | Pārbaudīt msg.body_html nevis msg.body |
| Trūkstoši saņēmēji | MSG nav saņēmēju krātuves | Saņē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 / Metode | Apraksts |
|---|---|
MapiMessage | Augsta 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 |
MapiAttachment | Pielikums ziņojumā |
MapiRecipient | Saņēmējs ziņojumā |
MapiProperty | MAPI īpašības ieraksts |
CFBReader | Zema līmeņa CFB konteineru lasītājs |
CFBWriter | Zema līmeņa CFB konteineru rakstītājs |
MsgReader | Zema līmeņa MSG struktūras lasītājs |