メールの通知を受け取るツール(Windowsアプリケーション)を作成しています。新しいメールが届いたという通知を受け取ったら、このメールを読んだり無視したりすることができます。EWS Exchange Serverの "StreamingSubscription"で通知を受け取っている間に、新しく受信した電子メールのItemIdを取得します。
私はストリーム通知を受け取ることができますが、新しいメールが受信されたことを通知するだけです。私の要件は、「X Person(送信者)」から新しいメールが受信されたというメッセージを表示し、 /彼女はそれを読んだり無視したりしたい。
今すぐ通知を受けた後、私は電子メールサーバにヒットし、未読メールをすべて取得してから、そのリストから最後に未読メールをフェッチしますが、それは正しいアプローチではありません。2-3メールが同時に受信されたら、どのメールをフェッチする必要があります。以下は
私はストリーム通知のため
void SetStreamingNotifications(ExchangeService service)
{
StreamingSubscription streamingsubscription = service.SubscribeToStreamingNotifications(
new FolderId[] { WellKnownFolderName.Inbox },
EventType.NewMail,
EventType.Created,
EventType.Deleted);
StreamingSubscriptionConnection connection = new StreamingSubscriptionConnection(service, 1);
connection.AddSubscription(streamingsubscription);
// Delegate event handlers.
connection.OnNotificationEvent +=
new StreamingSubscriptionConnection.NotificationEventDelegate(OnEvent);
connection.OnSubscriptionError +=
new StreamingSubscriptionConnection.SubscriptionErrorDelegate(OnError);
connection.OnDisconnect +=
new StreamingSubscriptionConnection.SubscriptionErrorDelegate(OnDisconnect);
connection.Open();
}
を使用していたコードが今私の質問はどのように私は、すぐに私は新しいことを「StreamingSubscription」を通じて通知を受け取るよう、新たに受信した電子メールのアイテムIDを得ることができるということですメールが受信されました。