Я создаю инструмент (приложение Windows) для получения уведомления о почте, и как только я получаю уведомление о получении новой почты, я могу выбрать, читать это письмо или игнорировать его.Получите ItemId только что полученного электронного письма, получая уведомление через «StreamingSubscription» сервера Exchange EWS.
Я могу получить уведомление о потоке, но он только говорит, что теперь получено новое письмо, поэтому мое требование состоит в том, что отображается сообщение о том, что новое сообщение получено от «X Person (sender)», и использование может выбрать, что он/она хочет прочитать или проигнорировать это.
Сразу после получения уведомления я попал на сервер электронной почты и получаю все непрочитанные письма, а затем получаю последнюю непрочитанную почту из этого списка, но это неправильный подход. Предположим, что 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();
}
Теперь мой вопрос заключается в том, что, как я могу получить ItemId вновь полученного по электронной почте, как только я получаю уведомление через «StreamingSubscription», что новый mail получен.