在互联网上搜索使用Python访问Outlook PST文件的结果很少(而且大部分显示内容已过时)。有人知道如何使用库读取PST文件吗?不幸的是,我不足以通过自己构建PST阅读器来完成此操作,需要借助某个库。
我的目标是获取以下内容的信息:
我的目标是获取以下内容的信息:
- 每个文件夹中的项目数
- 项的类型(邮件、会议、联系人等)
- 项目的大小
- 包括大小在内的附件
- 可能还有其他元数据,例如日期、收件人等(可选)
- libpff / pypff:崩溃,并似乎在执行操作之前将整个文件读入内存(这不是一个好的解决方案,因为PST文件保存在缓慢的网络存储上)。
- Libratom:和libpff一样的问题。
- Libpst:不清楚如何使用/作为二进制文件提供(没有说明如何安装)/参见该帖子的回答/似乎未得到维护或更新。
- win32(将PST挂载到Outlook中):一个教程展示了如何将PST挂载到本地安装的Outlook中,并使用MAPI访问获取其内容,但这也非常缓慢,不是一个好的解决方案,因为需要Outlook。
- Asponse Email Python:一开始很有前途,尽管文档不是很好(没有Python示例/不同的命名方式,例如PersonalStorage对象和许多其他对象/每个文件夹仅限50个项目(可能是免费版本的限制,但由于缺乏出版商网站的解释而不明确)。
personalStorage = PersonalStorage.from_file(dataDir + "Outlook.pst")
folderInfoCollection = personalStorage.root_folder.get_sub_folders()
for folderInfo in folderInfoCollection:
print("Folder: " + folderInfo.display_name)
print("Total Items: " + str(folderInfo.content_count))
print("Total Unread Items: " + str(folderInfo.content_unread_count))
print("----------------------")
我进行了大量的谷歌搜索,找到了适合的导入语句来使代码运行。
有人有稳定清晰的方法来读取Outlook PST文件吗?即使使用Asponse解决方案也可以超过50个项目的限制。