Miten aloittaa FOSS for Python
aspose-email-foss Python on MIT:n lisensoima vapaasti luotava, lukeminen ja muuntaa Outlook MSG tiedostoja ja CFB-säiliöitä – ei Microsoft Officea tarvitaan, ei alkuperäistä Python on python-laajennusta PyPien kautta.
Vaiheittainen opas
Vaihe 1: Asenna paketti
PyPin asentaminen pip:n avulla:
pip install aspose-email-fossTarkista, että asennus on ladattu oikein:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")Vaihe 2: Vaaditut luokat tuodaan
Tuoda viestien luomiseen, ominaisuuksien määrittämiseen ja muotoilun muuntamiseen tarvittavat moduulit:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyIdVaihe 3: Luo tiedosto
Käytä MapiMessage.create() - Rakentaa viesti aiheella ja keholla. Aseta lähettäjän metatiedot kanssa PropertyId Lisätään vastaanottajia ja liitetään tiedosto.
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.")Vaihe 4: Lue tiedosto takaisin
Lataa tallennettu tiedosto käyttäen MapiMessage.from_file() Käyttäjänä toimiva asiakassovellus.Lisää subject ja body palautettuja kohteita suoraan palautetusta kohteesta.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")Vaihe 5: Muunna MSG tilalle EML
to_email_bytes() muuntaa ladatun viestin muotoon RFC 5322. Kirjoita tulos a) A .eml Tiedostoja on käytetty standardikirjastoon.
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.")Yleisiä ongelmia ja korjauksia
ModuleNotFoundError: No module named 'aspose' Paketti ei ole asennettu aktiiviseen Python-ympäristöön. pip install aspose-email-foss samassa virtuaalisessa ympäristössä, jota käytät käsikirjoituksen suorittamiseen. vahvistaa pip show aspose-email-foss.
FileNotFoundError Kun soitat MapiMessage.from_file() Kuljettu polku ei ole olemassa tai käyttää väärää erottelulaitetta käyttöjärjestelmällesi. pathlib.Path Pysäytä portaali portaalin avulla: MapiMessage.from_file(Path("folder") / "file.msg").
MSG-tiedosto avautuu Outlookissa, mutta ei näytä aiheen sisältöä MapiMessage.create() hyväksyy aiheen ensimmäiseksi asennon argumenttina. Jos olet läpäissyt Outlook näyttää viestin otsikottomana. Lähetä ei-tyhjä string tai aseta se selkeästi mukana set_property(PropertyId.SUBJECT, "My Subject").
EML muuntaminen tuottaa tyhjän kehon to_email_bytes() Käytä body_html Jos se on asetettu ja putoaa takaisin body.Vahvistaa, että at vähintään yksi näistä ominaisuuksista ei ole tyhjä MSG -laitteen lataamisen jälkeen from_file().
Unicode-sisältö vastaanottajissa tai aiheessa on lyhennetty Passin kautta unicode_strings=True 2 Tyyppi MapiMessage.create() Varmista, että kiinteistöjen ominaisuudet ovat tallennettu Unicode (PT_UNICODE) eikä ANSI (RT_STRING8).
Usein kysytyt kysymykset
Tarvitseeko Microsoft Office -ohjelmistoa?
Kirjasto on täysin itsenäinen.Se lukee ja kirjoittaa binääri- MSG ja CFB-muodot Pythonissa ilman mitään riippuvuutta Microsoft Office, COM automaatio tai Win32 API: n kanssa.
Voinko käyttää tätä kirjastoa Linuxissa tai macOS: ssä?
Kyllä kyllä. aspose-email-foss Python on puhdas ja toimii millä tahansa alustalla, joka tukee Pythonia 3.10:ää. tai uudempi – mukaan lukien Windows, macOS, Linux, Docker-säiliöt ja palvelinpalvelimet.
Onko kirjasto vapaa kaupalliseen käyttöön?
Kyllä. Se on julkaistu MIT-lisenssin alaisuudessa. Voit käyttää, muokata ja levittää sitä mihin tahansa tarkoitukseen, mukaan lukien kaupalliset sovellukset, ilman lisenssikirjojen ulkopuolella olevia rojalteja tai määritysvaatimuksia.
Miten lisään CC- ja BCC-vastaanottimia?
Passin kautta recipient_type=msg.RECIPIENT_TYPE_CC tai msg.RECIPIENT_TYPE_BCC Kolmanneksi niin kuin Argumentti on add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)Miten voin laittaa yhden sisälle toiseen?
Käytä MapiMessage.add_embedded_message_attachment(),Sisäisen kulkeminen MapiMessage Ensimmäinen argumentti on:
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")