我的 Outlook 中有一个基本文件夹,其中包含来自监控系统的警报。我想根据该数据创建一个表。为此,我一直尝试在 Outlook 中访问电子邮件的正文内容:
Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -ComObject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$inbox = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
$inbox.Items | Format-Table BodyFormat, Body, HTMLBody, RTFBody
现在我希望看到 Body、HTMLBody 或 RTFBody 的一些内容 - 但我没有。我确实看到 BodyFormat 最常见的是 2 (olFormatHTML)。所以大部分的邮件shouldHTMLBody 中有内容——没有一个。我可以访问主题行,但不能访问内容。
由于我在网上找到的每个示例似乎都能够获取正文内容,我认为这一定是 Outlook 中的一个设置,仅下载主题行或其他内容。我们有 Enterprise Vault——内容可以与消息分开存储吗?
基于我相信这确实是防病毒软件阻止通过对象模型防护访问选择性属性。这解释了为什么$mm.Body
财产是可设置但不可获取 http://www.outlookcode.com/article.aspx?ID=52。由于我无权访问我的计算机上的任何公司安全设置,因此我无法进一步追求互操作方向。
有几个解决方法建议 http://www.outlookcode.com/article.aspx?ID=52
-
交换网络服务 https://blogs.msdn.microsoft.com/exchangedev/2014/06/02/ews-managed-api-2-2-now-available/- 可通过 EWS API(Web 服务的.Net 绑定。)
-
- 本机库接口。
- 扩展 MAPI 接口的第三方 COM 包装器。 (例如赎回 http://www.outlookcode.com/article.aspx?ID=52)
我想我会使用 EWS,尽管我不得不说界面相当复杂。
感谢@TesselttingHeckler 为我指明了道路。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)