Hoe te beginnen met Aspose.Cells FOSS voor Python

Hoe te beginnen met Aspose.Cells FOSS voor Python

aspose-email-foss Python is een gratis, MIT-licentieerde bibliotheek voor het maken, lezen en gebruiken van Outlook MSG bestanden en CFB-containers converteren - geen Microsoft Office vereist, geen native Extensions, pure Python van PyPI.

Stapsgewijze handleiding

Stap 1: Installeer het pakket

Installeer vanuit PyPI met pip:

pip install aspose-email-foss

Controleer of de installatie correct is geladen:

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

Stap 2: Importeren van vereiste klassen

Importeer de modules die u nodig hebt voor het maken van berichten, eigenschappen toewijzen en formatconversie:

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

Stap 3: Maak een MSG bestand

Gebruiken MapiMessage.create() om een bericht te bouwen met een onderwerp en lichaam. Set sender metadata met PropertyId constanten, ontvangers toevoegen en een bestand aanvoeren.

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

Stap 4: Lees het MSG bestand terug

Het opgeslagen bestand laden met behulp van MapiMessage.from_file() als contextmanager.Toegang tot de subject en body eigenschappen rechtstreeks van het geretourneerde object.

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

Stap 5: Converteer de MSG naar EML

to_email_bytes() Converteert het geladen bericht naar RFC 5322-formaat. Schrijf het resultaat in a .eml bestanden met de standaardbibliotheek.

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

Veelvoorkomende problemen en oplossingen

ModuleNotFoundError: No module named 'aspose' Het pakket is niet geïnstalleerd in de actieve Python-omgeving. pip install aspose-email-foss in dezelfde virtuele omgeving die u gebruikt om uw script uit te voeren. bevestigen met pip show aspose-email-foss.

FileNotFoundError Wanneer bellen MapiMessage.from_file() Het pad dat u hebt doorgegeven bestaat niet of gebruikt de verkeerde scheidingsbak voor uw OS. pathlib.Path Om de paden portabel te bouwen: MapiMessage.from_file(Path("folder") / "file.msg").

MSG bestand wordt geopend in Outlook, maar geen onderwerp weergeven MapiMessage.create() accepteert het onderwerp als het eerste positieargument. Als u de een lege string, Outlook toont het bericht als niet-opgeslagen. Uitdrukkelijk met set_property(PropertyId.SUBJECT, "My Subject").

EML conversie produceert een leeg lichaam to_email_bytes() Gebruiken body_html Als het is ingesteld en terugvalt naar de body.Bevestig dat bij de ten minste één van deze eigenschappen is niet leeg na het laden van de MSG met een from_file().

Unicode-inhoud in ontvanger of onderwerp wordt gekort Passeren unicode_strings=True Twee MapiMessage.create() Om te zorgen voor string eigenschappen zijn Deze code wordt opgeslagen in Unicode (PT_UNICODE) in plaats van ANSI (pt_STRING8).

Veelgestelde vragen

Is het gebruik van Microsoft Office vereist?

De bibliotheek is volledig zelfstandig.Het leest en schrijft de binaire MSG en CFB-indelingen natief in Python zonder enige afhankelijkheid van Microsoft Office, COM automatisering of Win32 API’s.

Kan ik deze bibliotheek gebruiken op Linux of macOS?

Ja wel. aspose-email-foss is pure Python en loopt op elk platform dat Python 3.10 ondersteunt of later, waaronder Windows, macOS, Linux, Docker-containers en serverloze functies.

Is de bibliotheek gratis voor commercieel gebruik?

Ja. Het wordt uitgebracht onder de MIT-licentie. U kunt het gebruiken, wijzigen en herdistribueren voor elk doel, inclusief commerciële toepassingen, zonder royalty’s of toewijzingseisen buiten de licentietext.

Hoe voeg ik CC en BCC-ontvanger toe?

Passeren recipient_type=msg.RECIPIENT_TYPE_CC of msg.RECIPIENT_TYPE_BCC Als de derde Argumenten voor add_recipient():

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

Hoe zet ik een MSG in de andere?

Gebruiken MapiMessage.add_embedded_message_attachment(),Door het binnenste passeren MapiMessage Het eerste argument als object:

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

Zie ook

 Nederlands