Hogyan lehet elkezdeni a Python Aspose.Cells FOSS-t
aspose-email-foss Python egy szabad, MIT-licencelt könyvtár a létrehozáshoz, olvasáshoz és Outlook MSG fájlok és CFB konténerek konvertálása nem szükséges Microsoft Office, nincs native kiterjesztések, tiszta Python a PyPI-től.
Lépésről lépésre szóló útmutató
1. lépés: telepítse a csomagot
PyPI-ből telepíteni pip segítségével:
pip install aspose-email-fossEllenőrizze, hogy a telepítés megfelelően töltött:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")2. lépés: Importáljon a szükséges osztályokat
Importálja a üzenet létrehozásához, tulajdonsági hozzárendeléséhez és formátumkonverzióhoz szükséges modulokat:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId3. lépés: Hozzon létre egy MSG fájlt
Használat MapiMessage.create() üzenet építése tárgy és test. Állítsa meg a küldő metaadatát a következők: PropertyId állandó, add címzettek és csatol egy fájlt.
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. lépés: Olvasd el a MSG fájlt vissza.
A mentett fájl betöltése a következők segítségével: MapiMessage.from_file() A szöveget a következő formában kell használni: subject és a következők: body a visszaadott tárgyból származó tulajdonságok.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")5. lépés: Változtassa a MSG-t EML -ra.
to_email_bytes() átalakítja a töltött üzenetet RFC 5322 formátumba. Írja le az eredményt: a) A .eml A standard könyvtárban.
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.")Általános problémák és megoldások
ModuleNotFoundError: No module named 'aspose' A csomag nem telepítve az aktív Python környezetben. Run pip install aspose-email-foss ugyanabban a virtuális környezetben, amit használsz az írás futtatására. pip show aspose-email-foss.
FileNotFoundError hívás közben. MapiMessage.from_file() A bejárott útvonal nem létezik, vagy a rendszerrendszer rossz elválasztót használ. Használja az alábbi programot: pathlib.Path a közlekedési útvonalak hordozható módon történő megépítése: MapiMessage.from_file(Path("folder") / "file.msg").
MSG fájl kinyitva Outlookban, de nem mutat témát MapiMessage.create() Ha átmentél, akkor a tárgy első pozíciós érv. üres szalag, az Outlook cím nélküli üzenetet mutat. Adjon át egy nem üresszű szalatot vagy állítsa be: kifejezetten a következőkkel: set_property(PropertyId.SUBJECT, "My Subject").
EML a konverzió egy üres testet termel to_email_bytes() Használat body_html ha beállított, és visszaesik a body.- Ezt erősítsd meg a… legalább egy ilyen tulajdonság nem üres a MSG betöltése után, ha: from_file().
A Unicode tartalom a címzettekben vagy az alanyokban rövidített. A kártya. unicode_strings=True a … MapiMessage.create() hogy a szalag tulajdonságai megfeleljenek: az ANSI (PT_STRING8) helyett Unicode-ben (FT_UNICODE) tárolva.
Gyakran feltett kérdések
A aspose-email-fosshoz Microsoft Office szükséges?
A könyvtár teljesen önálló. Olvassa és írja a bináris MSG és CFB formátumokat, Pythonban anélkül, hogy függne Microsoft Office-tól, COM automatizációból vagy Win32 API-król.
Használhatom ezt a könyvtárat Linuxon vagy MacOS-on?
- Igen, én is.
aspose-email-fosstiszta Python és fut minden olyan platformon, amely támogatja a Python 3.10-ot. vagy újabb Windows, macOS, Linux, Docker konténerek és szerver nélküli funkciók.
A könyvtár ingyenes kereskedelmi célra?
Igen. A MIT Licenc alatt adják ki, és bármilyen célra használhatja, módosíthatja vagy továbbadhatná a licencet - beleértve a kereskedelmi alkalmazásokat is -, szabadalmi díjakkal vagy az engedély szövegén kívüli tulajdonítás követelményeivel.
Hogyan adhatok hozzá CC és BCC címzetteket?
A kártya. recipient_type=msg.RECIPIENT_TYPE_CC vagy a következő: msg.RECIPIENT_TYPE_BCC a harmadikként. érvelés a add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)Hogyan helyezem be az egyiket a másikba?
Használat MapiMessage.add_embedded_message_attachment(), áthaladva a belső MapiMessage Első érvként:
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")