1. 产品
  2.   Aspose.Email
  3.   Aspose.Email FOSS for Python

Aspose.Email FOSS for Python

从 Python 读取、创建和写入 Outlook MSG 文件 — 免费且开源,无需 Microsoft Office。

用于 Outlook MSG 文件的开源 Python 库

Aspose.Email FOSS for Python 是一个 100% 免费、MIT 许可证的库,允许您完全在 Python 中读取和写入 Microsoft Outlook MSG 文件,无需 Microsoft Office、COM 自动化,也不需要专有运行时。它基于 MAPI 概念(MapiMessageMapiAttachmentMapiRecipient)公开了简洁的公共 API,并由用纯 Python 编写的内置 CFB(Compound File Binary)解析器提供支持。

使用 pip install aspose-email-foss 从 PyPI 安装。需要 Python 3.10 或更高版本。

该库适用于电子邮件归档脚本、合规性流水线、迁移工具以及任何需要在服务器端解析或生成 Outlook MSG 文件且不依赖 Microsoft Office 的工作流。

Read and Write MSG Files

  • Load MSG files: Open any Outlook MSG file with MapiMessage.from_file().
  • Access message data: Read subject, body, HTML body, message class, and transport headers.
  • Iterate attachments: Walk attachment metadata with iter_attachments_info() or access binary data.
  • Create messages: Build new MSG files from scratch with MapiMessage.create().
  • Save MSG files: Write to disk with save() or get bytes with to_bytes().

Where Aspose.Email FOSS Can Be Used

  • Email archival: Parse and index MSG files for compliance and retention workflows.
  • Migration tools: Convert MSG files to RFC 5322 email format for cross-platform migration.
  • Automation scripts: Generate MSG files programmatically for notification systems.
  • CI/CD pipelines: Validate MSG file structure inside Docker containers.
  • Forensic analysis: Inspect low-level CFB structure and MAPI properties.

Recipients, Attachments, and Properties

  • Add recipients: Attach To, CC, and BCC recipients with display names and email addresses.
  • File attachments: Add binary file attachments with MIME types.
  • Embedded messages: Nest MSG files inside other MSG files as embedded message attachments.
  • MAPI properties: Read and write any MAPI property by property ID or named property.
  • Email conversion: Convert between MSG and RFC 5322 email format with to_email_message() and from_email_message().

Developer Experience

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.

Load an MSG File and Read Its Properties

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 a New MSG File with Attachments

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")

常见问题

What is Aspose.Email FOSS for Python?

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.

Which email formats are supported?

MSG (Outlook) files in CFB v3 and v4 format. The library can also convert between MSG and RFC 5322 email format.

How do I install it?

Run pip install aspose-email-foss. Requires Python 3.10 or later.

Can I read EML files?

Not directly. Use MapiMessage.from_email_message() to convert from an EmailMessage object constructed from EML content.

Can I create MSG files from scratch?

Yes. Use MapiMessage.create(subject, body) to build a new message, then add recipients and attachments before saving.

Is thread-safety supported?

Each MapiMessage instance is independent. Concurrent operations on separate instances are safe.

Where can I find the source code?

The library is MIT-licensed and hosted on GitHub at aspose-email-foss/Aspose.Email-FOSS-for-Python.

  

支持和学习资源

 中文