Bevezetés
Aspose.Email FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and converting Outlook .msg A Python-ban, a Microsoft Office vagy bármely más bővítés függetlenségével. telepítse be egy Python programmal. pip install aspose-email-foss>=26.3 és azonnal kezdje el az MSG- és CFB-tartályokkal való munkát.
A könyvtár a Python 3.10-as és újabb verziókat célozza. Az elsődleges formátumban az e-mail üzenetek sorozatosításáról és olvasásáról determinista irányítást ad, így a Compound File Binary (CFB) formatot és az MSG üzenetformátumot is alkalmazza. Mivel a megvalósítás tiszta Python, azonos módon fut Windowson, macOS-on és Linuxon.
Aspose.Email FOSS is designed for developers building email processing pipelines, compliance archival tools, forensic analysis workflows, or any application that needs to create or inspect Outlook-compatible message files without a running Exchange or Outlook installation.
Fő jellemzői
MSG fájlok létrehozása
Outlook-hoz kompatibilis készítés .msg fájlok a kezdetektől, használva MapiMessage.create(). Állítsa be a szabványos MAPI tulajdonságokat, mint például az alanyot, a küldőt, az átadási időt és a megjelenítési mezőket a programon keresztül. PropertyId Adja hozzá a címzetteket, és adja meg az alábbiakat: add_recipient() és a fájlok mellékleteit, amelyekben az alábbiak szerepelnek: add_attachment(), majd mentse a eredményt lemezen.
from aspose.email_foss import msg
message = msg.MapiMessage.create(
"Quarterly status update and rollout plan",
"Hello team,\n\nPlease find the latest rollout summary attached.\n\nRegards,\nEngineering",
)
message.set_property(msg.PropertyId.SENDER_NAME, "Build Agent")
message.set_property(msg.PropertyId.SENDER_EMAIL_ADDRESS, "build.agent@example.com")
message.set_property(msg.PropertyId.INTERNET_MESSAGE_ID, "<example-001@example.com>")
message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_recipient("bob@example.com", display_name="Bob Example")
message.add_recipient(
"carol@example.com",
display_name="Carol Example",
recipient_type=msg.RECIPIENT_TYPE_CC,
)
message.add_attachment("hello.txt", b"sample attachment\n", mime_type="text/plain")
message.save("example-message.msg")
Olvasni és átalakítani MSG-t EML-re
A meglévő programot töltse be. .msg - Az ügylet… MapiMessage.from_file() és konvertáljuk egy standard Python-ba. EmailMessage objektum átadása to_email_message().Onnan EML-ba sorosítjuk a tárolásra vagy továbbításra az SMTP-n keresztül.
from aspose.email_foss import msg
with msg.MapiMessage.from_file("example-message.msg") as loaded:
email_message = loaded.to_email_message()
eml_bytes = email_message.as_bytes()
with open("example-message.eml", "wb") as f:
f.write(eml_bytes)
Ellenőrizd az MSG belső részeit.
Használat MsgReader és az alapjául szolgáló CFBReader Az MSG fájl bináris szerkezetének ellenőrzése. Hozzáférni a CFB-metadatokhoz (verzió, szektorméret, könyvtárbejegyzések száma) és az MAPI tulajdonságok bejegyzésein keresztül iterálni egy binári szinten.
from aspose.email_foss import msg
reader = msg.MsgReader.from_file("example-message.msg")
cfb = reader.cfb_reader
print(f"CFB major_version={cfb.major_version}")
print(f"sector_size={cfb.sector_size}")
print(f"directory_entries={cfb.directory_entry_count}")
for entry in reader.iter_top_level_fixed_length_properties():
tag = entry.property_tag
print(f"tag=0x{tag:08X} flags=0x{entry.flags:08X} value={entry.value.hex()}")
reader.close()
Alacsony szintű CFB-hozzáférés
Olvasni és átjárni bármely Bináris tartályt a Compound File segítségével CFBReader.Számláld fel a tárolókat és az áramlást, oldj meg útvonalakat név szerint, és extrahálj nyers adatot a sajátos feldolgozáshoz.
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("example-message.msg")
for entry in reader.iter_storages():
print(f"Storage: {entry.name}")
for entry in reader.iter_streams():
data = reader.get_stream_data(entry.stream_id)
print(f"Stream: {entry.name} size={len(data)}")
reader.close()
Gyors kezdés
A könyvtár telepítése és az első MSG fájl létrehozása 10 sor alatt:
pip install aspose-email-fossfrom aspose.email_foss import msg
message = msg.MapiMessage.create("Hello from Python", "This is a test message.")
message.set_property(msg.PropertyId.SENDER_EMAIL_ADDRESS, "sender@example.com")
message.add_recipient("recipient@example.com", display_name="Recipient")
message.save("hello.msg")
with msg.MapiMessage.from_file("hello.msg") as loaded:
eml = loaded.to_email_message()
print(eml["Subject"])
Támogatott formátumok
| Formátum | Behozatala | Kivitel |
|---|---|---|
| MSG | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. |
| CFB | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. |
Nyitott forráskódú és licenckészítés
Aspose.Email FOSS for Python is released under the MIT Licenc.A forráskód a WEB oldalán elérhető. GitHub.