Ominaisuudet ja toiminnot
Ominaisuudet ja toiminnot
Tämän sivun kattavat kaikki tärkeimmät ominaisuudet aspose-email-foss 26.3 toimivilla Python esimerkeillä.
MSG-tiedostojen lukeminen
Lataa MSG-tiedosto ja käytä sen ydinasetuksia:
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-tiedostojen luominen
Luo uusi viesti alusta alkaen:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")Aseta aihe ja runko olemassa olevaan viestiin:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")Vastaanottajat
Lisää vastaanottajia näyttönimillä ja tyypeillä:
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")Liitteet
Lisää binääritiedostoliitteitä:
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")Upota MSG-viesti sisäkkäisenä liitteenä:
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-ominaisuudet
Lue ja kirjoita MAPI-ominaisuuksia ominaisuustunnuksen perusteella:
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")Käy läpi kaikki ominaisuudet:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")Sähköpostin muunto
Muunna MSG (MAPI) - ja sähköpostiformaattien (RFC 5322) välillä:
# 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")Alhaisen tason CFB-toiminnot
Lue CFB-säiliörakenne suoraan:
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()Kirjoita CFB-dokumentteja:
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)Vinkkejä ja parhaita käytäntöjä
- Kutsu aina
msg.close()tai käytä kontekstinhallintaa, kun luku on valmis, vapauttaaksesi tiedostokahvat - Käytä
msg.validation_issuestarkista MSG-muodon yhteensopivuusongelmat - Tämä
strictparametriMapiMessage.from_file()säätää virhetoleranssia — aseta arvoonFalsejoustavaa jäsentämistä varten - Kaikki liitetiedot ladataan muistiin
from_file()— käytäatt.datapäästäksesi tavuihin suoraan;iter_attachments_info()on kätevä iteraattori jo täytetylle liitteiden listalle - Käytä
to_email_string()nopeita tekstiesikatseluja ilman koko email-objektin rakentamista
Yleisiä ongelmia
| Ongelma | Syy | Korjaus |
|---|---|---|
CFBError ladattaessa | Ei kelvollinen CFB/MSG-tiedosto | Varmista, että tiedosto on todellinen Outlook MSG |
| Tyhjä sisältö latauksen jälkeen | Sisältö tallennettu vain HTML-muodossa | Tarkista msg.body_html sen sijaan msg.body |
| Vastaanottajat puuttuvat | MSG:ssä ei ole vastaanottajien tallennustiloja | Vastaanottajat ovat valinnaisia MSG-muodossa; tarkista iter_attachments_info() |
FAQ
Mitä MSG-muodon versioita tuetaan?
Kirjasto lukee ja kirjoittaa MSG-tiedostoja CFB v3- ja v4 -muodossa, yhteensopivana Microsoft Outlookin kanssa.
Voinko lukea EML-tiedostoja?
Ei suoraan. Kirjasto käsittelee MSG-muotoa. Käytä MapiMessage.from_email_message() muuntaaksesi RFC 5322:sta EmailMessage objekteja.
Onko säikeiturvallisuus tuettu?
Jokainen MapiMessage ja CFBReader instanssi on itsenäinen. Usean säikeen samanaikainen pääsy eri instansseihin on turvallista.
API-viitteiden yhteenveto
| Luokka / Metodi | Kuvaus |
|---|---|
MapiMessage | Korkean tason MSG-viestin esitys |
MapiMessage.from_file() | Lataa MSG-tiedosto |
MapiMessage.create() | Luo uusi MSG-viesti |
MapiMessage.save() | Tallenna MSG-tiedostoon |
MapiMessage.to_email_message() | Muunna EmailMessageksi (RFC 5322) |
MapiMessage.from_email_message() | Muunna EmailMessagesta MSG:ksi |
MapiMessage.add_recipient() | Lisää vastaanottaja |
MapiMessage.add_attachment() | Lisää binääriliite |
MapiAttachment | Liite viestissä |
MapiRecipient | Vastaanottaja viestissä |
MapiProperty | MAPI-ominaisuuden merkintä |
CFBReader | Alhaisen tason CFB-säiliön lukija |
CFBWriter | Alhaisen tason CFB-säiliön kirjoittaja |
MsgReader | Alhaisen tason MSG-rakenteen lukija |