我正在做一个两阶段的数字取证项目,在第一阶段,我需要提取存储在几个Outlook的PST/OST文件中的所有信息,并将它们保存为MSG文件,在一个文件夹层次结构中,如pstFilename/inbox, draft, sent...为样本中的每个PST文件。
在第二阶段,现在已经完成,我使用python(3.x)和Win32Com模块来遍历目标文件夹内的所有子文件夹,搜索和散列每个MSG文件,解析一些MSG属性,最后,创建一个CSV报告。我找到了很多使用python和Win32Com模块解析MSG文件的文档和代码样本,但对于如何解析一个单一的PST文件,而不是本地计算机上与Outlook的用户配置文件相关的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文件吗?
I found this link: https://learn.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.store?view=outlook-pia
but I not sure how to use it in python...