是否可以使用Python Win32com模块读取任何本地PST文件并将消息导出为MSG文件?

问题描述 投票:1回答:2

我正在进行两个阶段的数字取证项目,在第一阶段,我需要提取存储在多个Outlook的PST / OST文件中的所有消息,并将它们另存为MSG文件,并保存在pstFilename \ inbox,草稿等文件夹层次结构中,发送...针对示例中的每个PST文件。

对于第二阶段,现已完成,我正在使用python(3.x)和Win32Com模块遍历目标文件夹内的所有子文件夹,搜索并哈希每个MSG文件,解析许多MSG属性,最后创建一个CSV报告。我找到了许多文档和代码示例来使用python和Win32Com模块来解析MSG文件,但是除了如何解析与本地计算机上与Outlook用户配置文件相关联的PST文件以外的单个PST文件,没有太多的了解。

[我正在寻找一种使用win32Com模块打开PST文件,遍历其中的所有文件夹,并将每条消息作为MSG文件导出/保存到相应的pstfilename_folder \ subfolder的方法。

有一种非常简单的方法来访问MSG文件:


import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(r"/test_files/test.msg")

print(msg.SenderName)
print(msg.SenderEmailAddress)
print(msg.SentOn)
print(msg.To)
print(msg.CC)
print(msg.BCC)
print(msg.Subject)
print(msg.Body)

count_attachments = msg.Attachments.Count
if count_attachments > 0:
    for item in range(count_attachments):
        print(msg.Attachments.Item(item + 1).Filename)

del outlook, msg

是否有任何等效的方法使用win32com模块访问和操作PST文件?

我找到了此链接:https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.store?view=outlook-pia

但我不确定如何在python中使用它...

python outlook win32com msg pst
2个回答
0
投票

这是我想为自己的应用程序做的事情。我能够从这些来源整理出一个解决方案:


0
投票

我从独立的软件在我的工作MSG PY模块中使用它,现在证明它很棒。这是用于Python的Microsoft Outlook .msg文件模块。该模块使您可以轻松创建/读取/解析/转换Outlook .msg文件。例如:

© www.soinside.com 2019 - 2024. All rights reserved.