2

我正在尝试使用 Exchange Web Services Managed API 1.1 连接到 Exchange,然后查看是否已发送或接收电子邮件并将 .msg 文件的副本保存到磁盘上的文件夹中。

到目前为止,我有以下代码

Dim service As New Microsoft.Exchange.WebServices.Data.ExchangeService(ExchangeVersion.Exchange2007_SP1)

service.AutodiscoverUrl("name@example.com")
service.UseDefaultCredentials = True
Dim ver = service.RequestedServerVersion

Dim inbox As Folder = Folder.Bind(service, WellKnownFolderName.Inbox)
Console.Out.WriteLine(inbox.UnreadCount.ToString())

Dim sentItems As Folder = Folder.Bind(service, WellKnownFolderName.SentItems)
Console.Out.WriteLine(sentItems.TotalCount.ToString())

我想要的是触发一个将电子邮件(以 .msg 格式)保存到文件系统的事件。但是我似乎找不到任何方法来使用 EWS 托管 API 执行此操作,我会选择一个函数来调用以查看自上次调用以来是否存在新消息或类似情况,而无需一直执行搜索。我宁愿不将其作为 Outlook 插件来实现,因为我们需要它与 Web 版本以及完整客户端无缝协作。

4

1 回答 1

0

我在框架内找不到任何直接的方法,所以我使用 Redemption 和以下代码来解决它:

Dim redSess As Redemption.RDOSession = CreateObject("Redemption.RDOSession")
Dim savedMsg = redSess.GetMessageFromMsgFile("c:\test_ews_m_API2.msg", True)
savedMsg.Import("c:\test_ews_m_API.eml", 1024)
savedMsg.Save()
于 2011-01-20T04:35:37.417 回答