尝试提取主题,已发送,发件人/收件人等信息等电子邮件信息。 这就是我到目前为止所做的:
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
$olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
$outlook = new-object -comobject outlook.application
$namespace = $outlook.GetNameSpace("MAPI")
$folder = $namespace.getDefaultFolder($olFolders::olFolderInbox)
$Mail = $folder.items | where-object { conditions }
$Mail | Select-Object -Property <objects> | Export-CSV -NoTypeInformation C:\.......\file_name.csv
此代码仅检查收件箱文件夹中的邮件,这是在第5行代码中设置的原因。有没有办法从根目录运行?那么,它可以解析草稿,发送项目和已删除项目等所有文件夹吗?此外,还有哪种方法可以列出此邮件所在的确切文件夹并将其添加到Excel文件中?
修改
以下代码列出了邮箱中的所有文件夹:
$Name = $namespace.Folders.Item(1).Folders | FT Name
有没有办法将每个文件夹名称逐个存储到$Name
中并使用它在循环中搜索下面的代码?
$folder = $namespace.Folders.Item(1).Folders.Item("$Name").Items
答案 0 :(得分:0)
我建议使用Items类的Find / FindNext或Restrict方法查找文件夹中与您的条件相对应的项目。如果需要在多个文件夹中搜索,则需要使用Application类的AdvancedSearch方法。
您可以找到以下文章: