Aspose.Email FOSS for Python is a 100% free, MIT-licensed library that lets you read and write Microsoft Outlook MSG files entirely from Python, with no Microsoft Office, no COM automation, and no proprietary runtime required. It exposes a clean public API based on MAPI concepts (MapiMessage, MapiAttachment, MapiRecipient) backed by a built-in CFB (Compound File Binary) parser written in pure Python.
Install from PyPI with pip install aspose-email-foss. Requires Python 3.10 or later.
The library is suitable for email archival scripts, compliance pipelines, migration tools, and any server-side workflow that needs to parse or produce Outlook MSG files without a Microsoft Office dependency.
MapiMessage.from_file().iter_attachments_info() or access binary data.MapiMessage.create().save() or get bytes with to_bytes().to_email_message() and from_email_message().Aspose.Email FOSS installs with a single pip install aspose-email-foss command. The package has zero external dependencies and is pure Python.
The API follows MAPI conventions: MapiMessage, MapiAttachment, MapiRecipient, MapiProperty. The library is MIT-licensed, open-source, and accepts bug reports and contributions on GitHub.
Install with pip, then pass a file path to MapiMessage.from_file() to parse the MSG binary format. Access subject, body, and attachments through the high-level API.
pip install aspose-email-foss
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.from_file("message.msg")
print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
for att in msg.iter_attachments_info():
print(f"Attachment: {att.storage_name}")
Create MSG files from scratch, add recipients and attachments, and save to disk.
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please review attached.")
msg.add_recipient("alice@example.com", display_name="Alice")
with open("notes.pdf", "rb") as f:
msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")
msg.save("output.msg")
It is a free, MIT-licensed Python library for reading and writing Microsoft Outlook MSG files without requiring Microsoft Office, COM automation, or any proprietary runtime.
MSG (Outlook) files in CFB v3 and v4 format. The library can also convert between MSG and RFC 5322 email format.
Run pip install aspose-email-foss. Requires Python 3.10 or later.
Not directly. Use MapiMessage.from_email_message() to convert from an EmailMessage object constructed from EML content.
Yes. Use MapiMessage.create(subject, body) to build a new message, then add recipients and attachments before saving.
Each MapiMessage instance is independent. Concurrent operations on separate instances are safe.
The library is MIT-licensed and hosted on GitHub at aspose-email-foss/Aspose.Email-FOSS-for-Python.