【问题标题】:Get all Outlook emails (including ones on server)获取所有 Outlook 电子邮件(包括服务器上的电子邮件)
【发布时间】:2020-01-10 00:53:02
【问题描述】:

Edit3:我想我也会包含 Microsoft Graph API。只要缓存了足够的数据,使用互操作是可以接受的。否则,我会使用在线的方法。

Edit2:我什至可以更改 Outlook 的离线设置,但我不想对所有文件夹都这样做。

编辑:Programmatically accessing archived mails in an Exchange folder

列出的第三个建议似乎正是我想要的。我可能已经以缓存模式打开了一个实例。我还不确定如何通过互操作来做到这一点。

这篇文章帮助了我:Interop.Outlook - get all emails(Items) within a subfolder

我的问题是它只检索一些消息。我相信这与 Outlook 同步了多少邮件有关。如果我在 Outlook 中浏览文件夹,列表底部会显示“单击此处查看有关 Microsoft Exchange 的更多信息”。单击时,自然会显示其余消息。

这可以通过互操作实现吗?

Add-Type -LiteralPath "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Outlook.dll"
$oApp = [Microsoft.Office.Interop.Outlook.ApplicationClass]::new()
$oNamespace = $oApp.GetNamespace("MAPI")
$TargetFolder = $oNamespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
$MailItemsWithAttachments = $TargetFolder.Items | Where-Object {$null -ne $_.Attachments} | Select-Object Subject, Attachments

最后一行是我认为需要调整的地方。随意提供一个 VB/C# 的例子,我都熟悉。

【问题讨论】:

  • 我不认为这是 vb.net。
  • 我个人使用了不同的 Interop DLL 来尝试解决这个问题,我删除了最后一行的 where-object 并将 select-object 修改为 * 只是为了测试它以尝试帮助.它为我检索了 1500 个邮件对象。也许它只是你的 DLL?我在这里使用了一个,"C:\Program Files\Microsoft Office\root\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Outlook.dll" - 如果使用不同的 dll 对你有用,请告诉我,以便我可以发布作为答案。
  • @shadoe2020 不,这些调整都没有帮助。这可能与您在 Outlook 中同步的数量有关。您的 Outlook 是否在超过 1500 个项目之前显示“单击此处查看更多”?
  • @Mary 这不是 VB.NET,但那是我的主要语言。但是,由于我的要求很简单,我最终用 PowerShell 编写了它。它应该相当容易阅读,并且您可以提供 VB/C# 示例(因为我怀疑是否会有 PowerShell 示例)。

标签: vb.net powershell outlook interop


【解决方案1】:

发生的情况是它只提取为您缓存的内容,除非您将缓存期限设置为“全部”或禁用缓存,否则您将无法再提取。您可以通过转到帐户设置来禁用,单击“更改”,然后取消选中使用缓存交换模式。

【讨论】:

  • 是的,我不想做一些事情。如果我可以将“从所有时间下载”设置为仅一个子文件夹,那很好。否则,也许我应该通过 Exchange Online API 尝试此操作。
  • 我认为你完全在正确的轨道上。祝你好运!
猜你喜欢
  • 1970-01-01
  • 2021-11-03
  • 1970-01-01
  • 2014-08-02
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多