
在电子邮件管理中,PST(个人存储表)文件在存储和组织电子邮件数据方面发挥着至关重要的作用。
在本指南中,我们将探讨如何使用渐进式 API 在 Python 中创建新的 PST 文件。我们将涵盖创建空存储、添加文件夹和子文件夹、结合标准和常规文件夹,最后将电子邮件和 Outlook 项目添加到 PST 文件中。
用于创建和填充 PST 文件的 Python API
要在 Python 中处理 PST 格式的存储文件,我们将使用 Aspose.Email for Python。这是一个强大的 API,为开发人员提供了在其 Python 应用程序中处理电子邮件格式(包括 PST 文件)的工具。使用 Aspose.Email,您可以轻松创建、操作和管理电子邮件消息和存储文件,使其成为电子邮件相关任务的必备工具。
要利用该 API 的强大功能,您可以 下载 其 DLL 或从 PyPI 安装。
创建新的 PST 文件
可以使用 PersonalStorage.create() 方法轻松生成新的 PST 文件。以下代码片段演示了如何使用 Aspose.Email 创建名为 “output.pst” 的新存储文件:
- 从 Aspose.Email 导入必要的模块。
- 定义新 PST 文件的路径。
- 使用 ‘PersonalStorage.create()’ 方法创建一个新的空 PST 文件,传入文件路径并指定 Unicode 格式。这将创建一个准备进一步自定义的空白文件,例如添加文件夹、消息或联系人。
pst_path = "output.pst" | |
pst = PersonalStorage.create(pst_path, PersonalStorage.UNICODE) |
注意:最小的 PST 文件大小为 256 Kb,并包含一个根文件夹和一个已删除项目文件夹。
添加文件夹和子文件夹
一旦我们有了新的空存储文件,下一步就是添加文件夹和子文件夹,以有效地组织我们的数据。请考虑以下子部分,并尝试以下代码示例来执行此任务。
添加标准文件夹
在处理 PST 文件时,通常会包括收件箱、已发送项目、联系人或日历等标准文件夹。Aspose.Email for Python 通过提供易于使用的方法简化了这项任务。以下代码片段演示了如何使用 Python API 将标准文件夹添加到存储文件:
- 使用上述 PersonalStorage.create() 方法创建一个新的 PST 文件。
- 使用 create_predefined_folder() 方法创建标准的收件箱文件夹,传入名称 “Inbox” 并指定类型为 StandardIpmFolder.INBOX。这确保文件包含一个可以使用的标准收件箱文件夹。
inbox_folder = pst.create_predefined_folder("Inbox", PersonalStorage.StandardIpmFolder.INBOX) |
像已删除项目、日历、联系人、日志、笔记、任务、同步问题、垃圾邮件、RSS 源等标准文件夹可以轻松添加到新的 PST 文件中:

添加常规文件夹
除了收件箱和已发送项目等标准文件夹外,Aspose.Email for Python 还允许您在 PST 文件中创建自定义或常规文件夹。它们提供了根据特定需求组织和分类电子邮件数据的灵活性。以下代码示例演示了如何使用 Aspose.Email 添加常规文件夹:
- 使用 PersonalStorage.create() 方法创建一个新的存储。
- 使用 add_sub_folder() 方法在 PST 文件的根文件夹内创建名为 “SomeFolder” 的自定义文件夹。
- 在 “SomeFolder” 内创建名为 “SubFolder” 的子文件夹,为有效地组织电子邮件数据提供层次结构。
创建自定义文件夹后,您可以再次使用 ‘add_sub_folder()’ 方法在其中创建子文件夹。将所需的子文件夹名称作为参数提供给该方法。
# Create a PST file | |
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst: | |
# Create a custom folder | |
some_folder = pst.root_folder.add_sub_folder("SomeFolder") | |
# Create a subfolder to the custom folder | |
sub_folder = some_folder.add_sub_folder("SubFolder") |
通过将常规文件夹纳入 PST 文件,开发人员可以根据特定应用程序需求调整电子邮件存储架构。
添加电子邮件和 Outlook 项目
在建立了结构之后,我们现在可以使用电子邮件和其他 Outlook 项目填充我们的 PST 文件。这涉及创建电子邮件、约会、联系人、任务等,并将它们添加到文件内的适当文件夹中。让我们考虑几个示例。
添加新电子邮件
以下代码示例将向您展示如何将新电子邮件消息添加到 PST 文件中的 “Inbox” 文件夹。代码涉及以下步骤:
- 使用 PersonalStorage.create() 方法以 Unicode 格式创建一个名为 “sample.pst” 的新存储。
- 使用 get_sub_folder() 方法访问存储文件中的 “Inbox” 文件夹。
- 使用 MapiMessage() 构造函数创建新的电子邮件消息,指定发件人、收件人、主题和电子邮件正文。
- 使用 add_message() 方法将新创建的消息添加到 PST 文件中的 “Inbox” 文件夹。
# Create a PST file | |
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst: | |
# Access the folder to add items | |
inbox_folder = pst.root_folder.get_sub_folder("Inbox") | |
# Create a new message | |
message = MapiMessage("from@example.com", "to@example.com", "Subject", "Body") | |
# Add the message to the Inbox folder | |
inbox_folder.add_message(message) |
添加 Outlook 项目
以下代码示例允许您向新的 PST 文件添加联系人作为示例。它概述了创建新的个人存储文件、向其添加标准联系人文件夹、从 VCF 文件加载联系人并将其添加到联系人文件夹的过程。代码涉及以下步骤:
- 使用 PersonalStorage.create() 方法以 Unicode 格式创建一个名为 “sample.pst” 的新存储。
- 使用 create_predefined_folder() 方法在存储文件中创建名为 “My Contacts” 的标准文件夹,指定类型为 StandardIpmFolder.Contacts。
- 使用 from_v_card() 方法从 VCF(vCard)文件加载联系人。该方法解析 VCF 文件并生成表示联系人信息的 MapiContact 对象。
- 使用 add_mapi_message_item() 方法将联系人添加到 PST 文件中的 “My Contacts” 文件夹。
# Create a PST file | |
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst: | |
# Create a standard folder (Contacts) | |
contacts_folder = pst.create_predefined_folder("My Contacts", StandardIpmFolder.CONTACTS) | |
# Load a contact from vcf file | |
contact = MapiContact.from_v_card("Contact.vcf") | |
# Add the contact to the folder | |
contacts_folder.add_mapi_message_item(contact) |
结论
在本教程中,我们探讨了如何使用 Aspose.Email 提供的渐进式 API 在 Python 中创建新的 PST 文件。我们涵盖了多个方面,包括创建空 PST 存储、添加文件夹和子文件夹、结合标准和常规文件夹,以及将电子邮件和 Outlook 项目添加到存储文件中。
通过 .NET 的 Aspose.Email,程序化创建 PST 文件变得简单。请在您的 Python 项目中尝试,并立即简化您的电子邮件相关工作流程!
此外,该库提供了广泛的功能,用于创建、提取、解析、转换和操作电子邮件,并配有全面的文档和代码示例,以简化集成过程,使开发人员能够在其 .NET 应用程序中实现电子邮件相关解决方案。
除了高级 API,您还可以不断访问免费资源:
- 支持论坛 - 巨大的社区可以获得您所有问题的答案
- 博客 - 关于最新功能的宝贵信息
- 文档 - 教程、代码示例和最佳实践,访问 API 参考
- 免费 应用 用于查看或转换、合并或解析电子邮件,分析标题,添加水印等
Aspose.Email 确保开发人员具备应对任何挑战并最大化其应用程序中 API 潜力所需的资源。