Com començar a utilitzar el FOSS per Python

Com començar a utilitzar el FOSS per Python

aspose-email-foss Python és una biblioteca lliure i llicenciada per MIT per crear, llegir i utilitzar el llenguatge. Convertir fitxers i contenidors de CFB d’Outlook - no es requereix Microsoft Office, no hi ha nadius Extensions, pur Python de PyPI.

Guia de pas per pas

Pas 1: Instal·la el paquet

Instal·lació de PyPI amb pip:

pip install aspose-email-foss

Comproveu que la instal·lació es carregui correctament:

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

Pas 2: Importar classes necessàries

Importar els mòduls necessaris per a la creació de missatges, l’assignació d’actius i la conversió de formats:

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

Pas 3: Creació d’un arxiu

utilitzar MapiMessage.create() per crear un missatge amb un tema i un cos. Establir metadades de l’enviador amb PropertyId Constants, afegir destinataris i adjuntar un arxiu.

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

Pas 4: Llegir el fitxer de tornada

Carregar el fitxer guardat utilitzant MapiMessage.from_file() Com a gestor de context. accés al subject i body Propietats directament del producte retornat.

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

Pas 5: Convertir el MSG a EML

to_email_bytes() converteix el missatge carregat al format RFC 5322. Escriu el resultat a a .eml Arxiu amb la biblioteca estàndard.

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

Problemes comuns i solucions

ModuleNotFoundError: No module named 'aspose' El paquet no està instal·lat en l’entorn actiu de Python. pip install aspose-email-foss en el mateix entorn virtual que utilitzeu per executar el vostre guió. pip show aspose-email-foss.

FileNotFoundError Quan truqueu MapiMessage.from_file() El camí que has passat no existeix o utilitza el separador incorrecte per al teu sistema operatiu. pathlib.Path Per fer els camins de forma portable: MapiMessage.from_file(Path("folder") / "file.msg").

El fitxer MSG s’obre a Outlook però no mostra cap tema MapiMessage.create() accepta el tema com a primer argument posicional. Si has passat Un codi de cadena buit, Outlook mostra el missatge com sense títol. Passar una cadena no buida o configurar-lo Explicitament amb set_property(PropertyId.SUBJECT, "My Subject").

EML conversió produeix un cos buit to_email_bytes() utilitzant body_html Si es troba i torna a caure body.Confirmen que a almenys una d’aquestes propietats no està buida després de carregar el MSG amb un from_file().

El contingut de l’Unicode en els destinataris o el tema es truncà. Passatge unicode_strings=True Dos MapiMessage.create() Per garantir que les propietats de la cadena siguin Es va emmagatzemar en Unicode (PT_UNICODE) en comptes d’ANSI (pt_STRING8).

Preguntes freqüents

El sistema de correu electrònic requereix Microsoft Office?

La biblioteca és totalment autònom.Llegeix i escriu els formats binaris MSG i CFB nativament en Python sense cap dependència de Microsoft Office, automatització COM o Win32 API.

Puc utilitzar aquesta biblioteca en Linux o macOS?

Sí sí. aspose-email-foss És un programa de Python que funciona en qualsevol plataforma que tingui suport per a Pythons 3.10. o posterior, incloent Windows, macOS, Linux, contenidors Docker i funcions sense servidor.

La biblioteca és lliure per a ús comercial?

Es publica sota la Llicència MIT. Podeu utilitzar, modificar i redistribuir-la per a qualsevol propòsit, incloses les aplicacions comercials, sense necessitat de royalties ni requisits d’atribució més enllà del text de la llicències.

Com puc afegir els receptors CC i BCC?

Passatge recipient_type=msg.RECIPIENT_TYPE_CC o msg.RECIPIENT_TYPE_BCC Com el tercer Argumentar per add_recipient():

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

Com puc posar un d’ells dins l’altre?

utilitzar MapiMessage.add_embedded_message_attachment(),Passant per l’interior MapiMessage El primer argument és:

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

Vegeu també

 Català