【问题标题】:PowerShell - Extract email information From OutlookPowerShell - 从 Outlook 中提取电子邮件信息
【发布时间】:2015-04-20 15:42:32
【问题描述】:

尝试提取电子邮件信息,如主题、发送者、发件人/收件人信息等。 这是我到目前为止所拥有的:

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 行代码中设置。有没有办法从根目录运行?那么,它可以解析草稿、sentitems 和已删除项目等所有文件夹吗?另外,有什么方法可以列出此邮件所在的确切文件夹并将其添加到 excel 文件中?

编辑

以下代码列出了邮箱中的所有文件夹:

$Name = $namespace.Folders.Item(1).Folders | FT Name

有没有办法将每个文件夹名称一个接一个地存储到$Name 中,并使用它在下面的代码中循环搜索?

$folder = $namespace.Folders.Item(1).Folders.Item("$Name").Items

【问题讨论】:

标签: email powershell outlook


【解决方案1】:

我建议使用 Items 类的 Find/FindNext 或 Restrict 方法在文件夹中查找与您的条件相对应的项目。如果需要在多个文件夹中搜索,则需要使用 Application 类的 AdvancedSearch 方法。

您会发现以下文章很有帮助:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-21
    • 2014-12-17
    • 2015-07-09
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    相关资源
    最近更新 更多