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_issues tarkista MSG-muodon yhteensopivuusongelmat
  • Tämä strict parametri MapiMessage.from_file() säätää virhetoleranssia — aseta arvoon False joustavaa jäsentämistä varten
  • Kaikki liitetiedot ladataan muistiin from_file() — käytä att.data pää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

OngelmaSyyKorjaus
CFBError ladattaessaEi kelvollinen CFB/MSG-tiedostoVarmista, että tiedosto on todellinen Outlook MSG
Tyhjä sisältö latauksen jälkeenSisältö tallennettu vain HTML-muodossaTarkista msg.body_html sen sijaan msg.body
Vastaanottajat puuttuvatMSG:ssä ei ole vastaanottajien tallennustilojaVastaanottajat 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 / MetodiKuvaus
MapiMessageKorkean 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
MapiAttachmentLiite viestissä
MapiRecipientVastaanottaja viestissä
MapiPropertyMAPI-ominaisuuden merkintä
CFBReaderAlhaisen tason CFB-säiliön lukija
CFBWriterAlhaisen tason CFB-säiliön kirjoittaja
MsgReaderAlhaisen tason MSG-rakenteen lukija
 Suomi