Kā sākt ar Aspose.Email FOSS priekš Python

Kā sākt ar Aspose.Email FOSS priekš Python

aspose-email-foss for Python ir bezmaksas, MIT licencēta bibliotēka, kas ļauj izveidot, nolasīt un pārvērst Outlook MSG failus un CFB konteinerus — nav vajadzīgs Microsoft Office, nav vietējo paplašinājumu, tīrs Python no PyPI.

Solim pa solim ceļvedis

1. solis: instalēt pakotni

Instalējiet no PyPI, izmantojot pip:

pip install aspose-email-foss

Pārbaudiet, vai instalācija ielādējās pareizi:

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

2. solis: Importējiet nepieciešamās klases

Importējiet moduļus, kas nepieciešami ziņojumu izveidei, īpašību piešķiršanai un formāta konvertēšanai:

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

3. solis: Izveidojiet MSG failu

Izmantojiet MapiMessage.create() lai izveidotu ziņojumu ar tēmu un saturu. Iestatiet sūtītāja metadatus ar PropertyId konstantes, pievienojiet saņēmējus un pievienojiet failu.

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.")

4. solis: Atkārtoti nolasiet MSG failu

Ielādējiet saglabāto failu, izmantojot MapiMessage.from_file() kā konteksta pārvaldnieks. Piekļūst subject un body īpašībām tieši no atgriezētā objekta.

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

5. solis: Pārveidojiet MSG uz EML

to_email_bytes() pārvērš ielādēto ziņojumu uz RFC 5322 formātu. Ierakstiet rezultātu uz a .eml failu ar standarta bibliotēku.

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.")

Biežāk sastopamās problēmas un to risinājumi

ModuleNotFoundError: No module named 'aspose' Pakotne nav instalēta aktīvajā Python vidē. Palaidiet pip install aspose-email-foss tajā pašā virtuālajā vidē, ko izmantojat, lai izpildītu savu skriptu. Apstipriniet ar pip show aspose-email-foss.

FileNotFoundError izsaucot MapiMessage.from_file() Norādītais ceļš neeksistē vai izmanto nepareizu atdalītāju jūsu OS. Izmantojiet pathlib.Path lai portatīvi izveidotu ceļus: MapiMessage.from_file(Path("folder") / "file.msg").

MSG fails atver Outlook, bet nerāda tematu MapiMessage.create() pieņem tematu kā pirmo pozīcijas argumentu. Ja jūs nododāt tukšu virkni, Outlook parāda ziņojumu kā nenosaukts. Nododiet ne‑tukšu virkni vai iestatiet to skaidri ar set_property(PropertyId.SUBJECT, "My Subject").

EML konvertēšana rada tukšu ķermeni to_email_bytes() izmanto body_html ja iestatīts, un atkāpjas uz body. Apstipriniet, ka pie vismaz viena no šīm īpašībām nav tukša pēc MSG ielādēšanas ar from_file().

Unicode saturs saņēmēju vai temata laukā tiek apgriezts Pāriet unicode_strings=True lai MapiMessage.create() lai nodrošinātu, ka virkņu īpašības ir saglabātas Unicode (PT_UNICODE) nevis ANSI (PT_STRING8).

Biežāk uzdotie jautājumi

Vai aspose-email-foss pieprasa Microsoft Office?

Nē. Bibliotēka ir pilnīgi pašpietiekama. Tā nolasīs un raksta bināro MSG un CFB formātus iebūvēti Python bez jebkādām atkarībām no Microsoft Office, COM automatizācijas vai Win32 API.

Vai es varu izmantot šo bibliotēku Linux vai macOS?

Jā. aspose-email-foss ir tīrs Python un darbojas jebkurā platformā, kas atbalsta Python 3.10 vai vēlāk — ieskaitot Windows, macOS, Linux, Docker konteinerus un serverless funkcijas.

Vai bibliotēka ir bezmaksas komerciālai lietošanai?

Jā. Tas ir izlaists zem MIT licences. Jūs varat izmantot, modificēt un izplatīt to jebkuram mērķim, ieskaitot komerciālas lietojumprogrammas, bez honorāriem vai atribūcijas prasībām, izņemot licences tekstu.

Kā es varu pievienot CC un BCC saņēmējus?

Pāriet recipient_type=msg.RECIPIENT_TYPE_CC vai msg.RECIPIENT_TYPE_BCC kā trešais argumentu uz add_recipient():

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

Kā es varu iegult vienu MSG citā?

Izmantojiet MapiMessage.add_embedded_message_attachment(), nododot iekšējo MapiMessage objektu kā pirmo argumentu:

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")

Skatīt arī

 Latviešu