Hvordan komme i gang med Aspose.Email FOSS for Python

Hvordan komme i gang med Aspose.Email FOSS for Python

aspose-email-foss for Python er et gratis, MIT-lisensert bibliotek for å lage, lese og bruke konvertering av Outlook MSG filer og CFB-beholdere – ingen Microsoft Office nødvendig, ingen innfødt Utvidelser, ren Python fra PyPI.

Trinnvis veiledning

Steg 1: Installer pakken

Installasjon fra PyPI med pip:

pip install aspose-email-foss

Sjekk at installasjonen er lastet riktig:

from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")

Trinn 2: Importer nødvendige klasser

Importer modulene du trenger for meldingskaping, egenskapsoppgave og formatkonvertering:

from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId

Trinn 3: Opprett en MSG fil

Bruker MapiMessage.create() å bygge en melding med et emne og kropp. Sett sender metadata med PropertyId Legg til mottakere og legg til en fil.

message = MapiMessage.create("Getting Started", "Hello from aspose-email-foss!")

message.set_property(PropertyId.SENDER_NAME, "Build Agent")
message.set_property(PropertyId.SENDER_EMAIL_ADDRESS, "agent@example.com")
message.set_property(
    PropertyId.MESSAGE_DELIVERY_TIME,
    datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc),
)

message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_attachment("notes.txt", b"Meeting notes go here.\n", mime_type="text/plain")

message.save("getting-started.msg")
print("getting-started.msg written.")

Trinn 4: Les filen MSG tilbake

Last ned den lagrede filen ved hjelp av MapiMessage.from_file() som en kontekstleder. Access the subject og body Eiendommer direkte fra det returnerte objektet.

with MapiMessage.from_file("getting-started.msg") as message:
    print(f"Subject: {message.subject}")
    print(f"Body   : {message.body}")

Trinn 5: Konverter MSG til EML

to_email_bytes() konverterer den lastede meldingen til RFC 5322 format. Skriv resultatet til a) A .eml Fil med standardbiblioteket.

from pathlib import Path

with MapiMessage.from_file("getting-started.msg") as message:
    Path("getting-started.eml").write_bytes(message.to_email_bytes())
    print("getting-started.eml written.")

Vanlige problemer og løsninger

ModuleNotFoundError: No module named 'aspose' Pakken er ikke installert i det aktive Python-miljøet. pip install aspose-email-foss i samme virtuelle miljø du bruker til å kjøre skriptet. Bekreft med pip show aspose-email-foss.

FileNotFoundError Når man ringer MapiMessage.from_file() Puten du har passert eksisterer ikke eller bruker feil separator for OS. pathlib.Path For å bygge veier portabel: MapiMessage.from_file(Path("folder") / "file.msg").

MSG fil åpnes i Outlook, men viser ikke emnet MapiMessage.create() aksepterer emnet som det første posisjonsargumentet. Hvis du har gått gjennom Outlook viser meldingen som en tom streng, og sender den til en ikke-tom streng eller angir den som ubestemt. Eksplicit med set_property(PropertyId.SUBJECT, "My Subject").

EML konvertering produserer en tom kropp to_email_bytes() Bruker body_html Hvis det er satt, og faller tilbake til body.Bekreft at i minst én av disse egenskapene er ikke tom etter at MSG har blitt lastet med from_file().

Unicode-innhold i mottakere eller emne er truncated Passet unicode_strings=True To av MapiMessage.create() For å sikre at strenge egenskaper er lagret i Unicode (PT_UNICODE) i stedet for ANSI (pt_STRING8).

Ofte stilte spørsmål

Trenger Microsoft Office-tjenesten din?

Det leser og skriver de binære MSG og CFB-formater nativt i Python uten noen avhengighet av Microsoft Office, COM automatisering eller Win32 API.

Kan jeg bruke dette biblioteket på Linux eller macOS?

Ja til. aspose-email-foss Python er ren og kjører på alle plattformer som støtter Python 3.10 eller nyere – inkludert Windows, macOS, Linux, Docker-beholdere og serverfrie funksjoner.

Er biblioteket gratis for kommersiell bruk?

Ja. Den er utgitt under MIT-lisensen. Du kan bruke, modifisere og redistribuere den til ethvert formål, inkludert kommersielle applikasjoner, uten royalties eller attribusjonskrav utover lisensteksten.

Hvordan legger jeg til CC og BCC-mottakere?

Passet recipient_type=msg.RECIPIENT_TYPE_CC eller msg.RECIPIENT_TYPE_BCC Som den tredje Argumentasjon til add_recipient():

message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)

Hvordan kan jeg sette inn en MSG i en annen?

Bruker MapiMessage.add_embedded_message_attachment(),Ved å passere innsiden MapiMessage Argumentet som første argument:

inner = MapiMessage.create("Inner message", "Embedded body.")
outer = MapiMessage.create("Outer message", "See attachment.")
outer.add_embedded_message_attachment(inner, "inner.msg")
outer.save("outer.msg")

Se også

 Norsk