메일 알림을 받기위한 도구 (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를 얻을 수 있습니다 메일이 수신되었습니다.