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

Aspose.Email FOSS for Python

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

开源Python库用于Outlook MSG文件

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 或更高版本。

该库适用于电子邮件归档脚本、合规流水线、迁移工具以及任何需要在没有 Microsoft Office 依赖的情况下解析或生成 Outlook MSG 文件的服务器端工作流。欲获取更高级的功能,请考虑 Aspose.Email for Python

阅读和写入MSG文件

  • **加载MSG文件:**使用MapiMessage.from_file()打开任何Outlook MSG 文件.
  • 访问消息数据: 阅读主题,文体,HTML文本,信息类和传输标题.
  • 代附件: 通过 iter_attachments_info() 来访问附加文件的元数据或双重数据.
  • **创建消息:**使用MapiMessage.create()从头开始构建新的MSG文件.
  • **保存MSG文件:**使用save()写入磁盘,或用 to_bytes().获取字节.

在哪里可以使用Aspose.Email FOSS?

  • 电子邮件存档: 分析和索引MSG文件以实现合规性和保留工作流程.
  • **迁移工具:**将MSG文件转换为RFC 5322电子邮件格式,用于跨平台的迁徙.
  • 自动化脚本: 程序性地为通知系统生成MSG文件.
  • CI/CD管道: 在Docker容器内验证MSG文件结构.
  • **法医分析:**检查低水平的CFB结构和MAPI特性.

收件人,附属文件和财产

  • 添加接收者: 附上 To,CC 和 BCC 的接待人以显示名称和电子邮件地址.
  • 文件附件: 添加具有MIME类型的二进制文件附录.
  • 嵌入式消息: 其他MSG文件中的Nest MSG档案作为嵌合式信息附件.
  • MAPI属性: 读取和写入任何 MAPI 属性的物业ID或命名的财产.
  • 电子邮件转换: 通过 to_email_message()from_email_message() 在 MSG 与 RFC 5322 之间进行转化.

开发者经验

Aspose.Email FOSS 使用单个 pip install aspose-email-foss 命令进行安装。该软件包没有外部依赖,且是纯 Python。

该 API 遵循 MAPI 约定:MapiMessageMapiAttachmentMapiRecipientMapiProperty。该库采用 MIT 许可证,开源,并接受在 GitHub 上的错误报告和贡献。

载入一个MSG文件并阅读其属性

使用 pip 安装,然后传递一个文件路径到 MapiMessage.from_file() 解析 MSG 二进制格式.通过高层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}")

创建一个新的MSG文件,附加文档

创建MSG文件从头开始,添加接收者和附件,并保存到磁盘上.

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

常见问题

什么是 Aspose.Email FOSS 用于 Python?

它是一个免费的,获得MIT许可证的Python库来读取和写入Microsoft Outlook MSG文件而无需 Microsoft Office,COM自动化或任何专有运行时间.

有哪些电子邮件格式支持?

在CFB v3和v4格式的MSG (Outlook) 文件.图书馆还可以在MS G和RFC 5322电子邮件格态之间转换.

我怎么安装它?

运行 pip install aspose-email-foss.需要 Python 3.10 或更新版本.

我可以读到EML文件吗?

不是直接.使用MapiMessage.from_email_message() 来从 EML 内容构建的 EmailMessage 对象转换.

我能从零开始创建MSG文件吗?

是的. 使用MapiMessage.create(subject, body)创建一个新消息,然后在保存之前添加接收者和附件.

线程安全是否支持?

每个 MapiMessage 实例都是独立的.对单独实验进行并发操作是安全的

在哪里可以找到源代码?

该库是MIT许可,并托管在GitHub的 aspose-email-foss/Aspose.Email-FOSS-for-Python.

  

支持和学习资源

 中文