Savybės ir funkcionalumas
Savybės ir funkcionalumas
Šiame puslapyje apžvelgiamos visos pagrindinės funkcijos aspose-email-foss 26.3 su veikiančiais Python pavyzdžiais.
MSG failų skaitymas
Įkelkite MSG failą ir pasiekite jo pagrindines savybes:
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 failų kūrimas
Sukurkite naują laišką nuo pradžių:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")Nustatykite temą ir turinį esamam laiškui:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")Gavėjai
Pridėkite gavėjus su rodomais vardais ir tipais:
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")Priedai
Pridėkite dvejetainių failų priedus:
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")Įterpkite MSG laišką kaip įdėtą priedą:
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 savybės
Skaitykite ir rašykite MAPI savybes pagal savybės 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")Iteruokite visas savybes:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")El. pašto konvertavimas
Konvertuokite tarp MSG (MAPI) ir el. pašto (RFC 5322) formatų:
# 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")Žemo lygio CFB operacijos
Skaityti CFB konteinerio struktūrą tiesiogiai:
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()Rašyti CFB dokumentus:
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)Patarimai ir geriausia praktika
- Visada kvieskite
msg.close()arba naudokite context manager, kai baigsite skaityti, kad atlaisvintumėte failų rankenėles - Naudokite
msg.validation_issuesnorėdami patikrinti MSG formato atitikties problemas - Šis
strictparametras, esantisMapiMessage.from_file()valdo klaidos toleranciją — nustatykite įFalselankščiam analizavimui - Visi priedų duomenys įkelami į atmintį per
from_file()— naudokiteatt.datatiesiogiai pasiekti baitus;iter_attachments_info()yra patogus iteratorius per jau užpildytą priedų sąrašą - Naudokite
to_email_string()greitiems teksto peržiūroms be pilno el. laiško objekto sukūrimo
Dažnos problemos
| Problema | Priežastis | Pataisa |
|---|---|---|
CFBError įkeliant | Neteisingas CFB/MSG failas | Patikrinkite, ar failas yra tikras Outlook MSG |
| Tuščias turinys po įkėlimo | Turinys saugomas tik HTML formatu | Patikrinkite msg.body_html vietoj msg.body |
| Trūksta gavėjų | MSG neturi gavėjų saugyklų | Gavėjai yra neprivalomi MSG formate; patikrinkite iter_attachments_info() |
FAQ
Kokios MSG formato versijos palaikomos?
Biblioteka skaito ir rašo MSG failus CFB v3 ir v4 formatu, suderinamu su Microsoft Outlook.
Ar galiu skaityti EML failus?
Ne tiesiogiai. Biblioteka apdoroja MSG formatą. Naudokite MapiMessage.from_email_message() konvertuoti iš RFC 5322 EmailMessage objektus.
Ar palaikomas gijų saugumas?
Kiekvienas MapiMessage ir CFBReader Instancija yra nepriklausoma. Konkuruojanti prieiga prie atskirų instancijų iš atskirų gijų yra saugi.
API nuorodų santrauka
| Klasė / Metodas | Aprašymas |
|---|---|
MapiMessage | Aukšto lygio MSG žinutės atvaizdavimas |
MapiMessage.from_file() | Įkelti MSG failą |
MapiMessage.create() | Sukurkite naują MSG pranešimą |
MapiMessage.save() | Išsaugoti į MSG failą |
MapiMessage.to_email_message() | Konvertuoti į EmailMessage (RFC 5322) |
MapiMessage.from_email_message() | Konvertuoti iš EmailMessage į MSG |
MapiMessage.add_recipient() | Pridėti gavėją |
MapiMessage.add_attachment() | Pridėti binarinį priedą |
MapiAttachment | Priedas prie pranešimo |
MapiRecipient | Gavėjas pranešime |
MapiProperty | MAPI savybės įrašas |
CFBReader | Žemo lygio CFB konteinerio skaitytojas |
CFBWriter | Žemo lygio CFB konteinerio rašytojas |
MsgReader | Žemo lygio MSG struktūros skaitytojas |