Kaip pradėti naudotis „Python“
aspose-email-foss Python yra nemokama, MIT licencijuota biblioteka kuriant, skaitydami ir naudojant konvertuoti “Outlook” failus ir CFB konteinerius - nereikia “Microsoft Office”, nėra gimtojo Išplėstinė programa Python iš PIPI.
Žingsnis po žingsnio vadovas
1 žingsnis: įdiekite paketą
Įdiegti iš PyPI su pip:
pip install aspose-email-fossPatikrinkite, ar įrenginys įkeltas teisingai:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")2 žingsnis: Reikalingos klasės importui
Importuokite modulius, kurių reikia pranešimų kūrimui, savybių priskyrimui ir formatų konvertavimui:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId3 žingsnis: sukurkite failą MSG
Naudokite MapiMessage.create() sukurti pranešimą su tema ir kūnu. nustatykite siuntėjo metaduomenis su PropertyId Konstantų, pridėti gavėjus ir įtraukti failą.
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 žingsnis: perskaitykite MSG failą Atgal
Įkelkite išsaugotą failą naudodami MapiMessage.from_file() kaip kontekstinis vadybininkas. prieiga prie subject ir body Nuosavybės grąžinamos iš grįžtamo objekto.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")5 žingsnis: konvertuokite į MSG
to_email_bytes() konvertuoja įkeltą pranešimą į RFC 5322 formatą. Parašykite rezultatą į A – .eml Standartinė biblioteka su standartine biblioteke.
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.")Bendros problemos ir taisyklės
ModuleNotFoundError: No module named 'aspose' Paketas nėra įdiegtas aktyvioje „Python“ aplinkoje. pip install aspose-email-foss toje pačioje virtualioje aplinkoje, kurią naudojate norėdami paleisti scenarijų. patvirtinkite pip show aspose-email-foss.
FileNotFoundError Kai skambina MapiMessage.from_file() Jūsų perduotas kelias neegzistuoja arba naudoja neteisingą jūsų OS skirtuką. pathlib.Path Kelias į Portavą: MapiMessage.from_file(Path("folder") / "file.msg").
MSG failas atidaromas programoje Outlook, tačiau nėra pateikiama tema MapiMessage.create() priima dalyką kaip pirmąjį pozicijos argumentą. jei praėjote tuščią eilutę, „Outlook“ rodo pranešimą kaip nenumatytą. perduoti neišskirtą eilutinį arba nustatyti jį Aiškiai su set_property(PropertyId.SUBJECT, "My Subject").
EML konversija sukuria tuščią kūną to_email_bytes() Naudoti body_html Jei įdėti, ir vėl patenka į body.Patikrinkite, kad at bent viena iš šių savybių yra ne tuščia po MSG įkrovimo su from_file().
Unicode turinys gavėjams arba temai yra sutrumpintas Pasas unicode_strings=True Tą MapiMessage.create() Siekiant užtikrinti, kad stringa savybės būtų Išsaugoti Unicode (PT_UNICODE) ir ne ANSI (RT_STRING8).
Dažnai užduodami klausimai
Ar „Microsoft Office“ reikalingas „Smart-Email-Foss“?
Biblioteka yra visiškai savarankiška.Ji skaito ir rašo dvejetainius MSG ir CFB formatus natūraliai Python be jokios priklausomybės nuo “Microsoft Office”, COM automatizavimo ar Win32 API.
Ar galiu naudoti šią biblioteką „Linux“ ar „macOS“?
Taip taip. aspose-email-foss yra grynas Python ir veikia bet kurioje platformoje, palaikančioje Pythoną 3.10 arba naujesnės versijos, įskaitant „Windows“, „macOS“, Linux, „Docker“ konteinerius ir beserverio funkcijas.
Ar biblioteka yra nemokama komerciniam naudojimui?
Taip. jis išleistas pagal MIT licenciją.Jūs galite jį naudoti, modifikuoti ir platinti bet kokiu tikslu, įskaitant komercines programas, be autorinių teisių ar priskyrimo reikalavimų, viršijančių licencijos tekstą.
Kaip pridėti CC ir BCC imtuvus?
Pasas recipient_type=msg.RECIPIENT_TYPE_CC arba msg.RECIPIENT_TYPE_BCC Kaip trečias Argumentai į add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)Kaip įdėti vieną MSG į kitą?
Naudokite MapiMessage.add_embedded_message_attachment(),Perėjęs vidinį MapiMessage Kaip pirmasis argumentas:
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")