python如何读pst文件_python - 从win32或pypff读取PST文件 - SO中文参考 - www.soinside.com...

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

上面的第三个链接应提供有关可用属性和各种项目类型的更多详细信息。我的解决方案仍然需要连接到Outlook应用程序,但是对用户来说应该是透明的,因为在try / catch / finally块中使用pst存储区会自动将其删除。我希望这可以帮助您走上正确的轨道!import win32com.client

def find_pst_folder(OutlookObj, pst_filepath) :

for Store in OutlookObj.Stores :

if Store.IsDataFileStore and Store.FilePath == pst_filepath :

return Store.GetRootFolder()

return None

def enumerate_folders(FolderObj) :

for ChildFolder in FolderObj.Folders :

enumerate_folders(ChildFolder)

iterate_messages(FolderObj)

def iterate_messages(FolderObj) :

for item in FolderObj.Items :

print("***************************************")

print(item.SenderName)

print(item.SenderEmailAddress)

print(item.SentOn)

print(item.To)

print(item.CC)

print(item.BCC)

print(item.Subject)

count_attachments = item.Attachments.Count

if count_attachments > 0 :

for att in range(count_attachments) :

print(item.Attachments.Item(att + 1).Filename)

Outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

pst = r"C:\Users\Joe\Your\PST\Path\example.pst"

Outlook.AddStore(pst)

PSTFolderObj = find_pst_folder(Outlook,pst)

try :

enumerate_folders(PSTFolderObj)

except Exception as exc :

print(exc)

finally :

Outlook.RemoveStore(PSTFolderObj)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值