Exchange server 使用exchange web服务托管API保存.msg格式文件
我正在尝试使用Exchange Web服务管理的API 1.1连接到Exchange,然后查找是否已发送或接收电子邮件,并将.msg文件的副本保存到磁盘上的文件夹中 到目前为止,我有以下代码Exchange server 使用exchange web服务托管API保存.msg格式文件,exchange-server,exchangewebservices,email,msg,Exchange Server,Exchangewebservices,Email,Msg,我正在尝试使用Exchange Web服务管理的API 1.1连接到Exchange,然后查找是否已发送或接收电子邮件,并将.msg文件的副本保存到磁盘上的文件夹中 到目前为止,我有以下代码 Dim service As New Microsoft.Exchange.WebServices.Data.ExchangeService(ExchangeVersion.Exchange2007_SP1) service.AutodiscoverUrl("name@example.com") serv
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版本以及完整客户端无缝配合。我无法在框架内找到任何直接方法,因此我使用了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()
我在框架内找不到任何直接的解决方法,所以我使用了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()