2

ExchangeWebサービスマネージAPI1.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 に答える