EWS Managed API 및 C#을 사용하고 있습니다.Exchange Web Service Managed API를 사용하여 전자 메일 이동을 탐지합니까?
전자 메일이 다른 폴더로 이동 한 시간을 감지 할 수 있는지 알고 싶습니다.
이것은 내가 지금까지 무엇을 가지고 :
static void SetPullNotifications(ExchangeService service)
{
PullSubscription subscription = service.SubscribeToPullNotificationsOnAllFolders(
5, null,
EventType.Moved, EventType.Deleted, EventType.Copied, EventType.Modified);
GetEventsResults events = subscription.GetEvents();
foreach (ItemEvent itemEvent in events)
{
switch (itemEvent.EventType)
{
case EventType.Moved:
MessageBox.Show("Item Moved :" + itemEvent.ItemId.UniqueId);
break;
case EventType.Deleted:
MessageBox.Show("Item deleted: " + itemEvent.ItemId.UniqueId);
break;
case EventType.Copied:
MessageBox.Show("Item Copied :" + itemEvent.ItemId.UniqueId);
break;
case EventType.Modified:
MessageBox.Show("Item Modified :" + itemEvent.ItemId.UniqueId);
break;
}
}
}
나는 방법 GetEvents()
에 중단 점을 넣을 경우 잘 작동, 다음 이메일을 이동합니다. 그러나 중단 점이 없으면 작동하지 않습니다. events
에는 결과가 없습니다.
아이디어가 있으십니까?
답변 해 주셔서 감사합니다. 불행히도 나는 Exchange 서비스 2010 SP1에서 작동하지 않는다. 나는 'PullSubscription'과 같은 것을 시도했지만 'GetEvents()'를 시도 할 때 아무 것도 얻지 못했다. –
@StephaneBintein : 나는 PullSubscriptions를 사용하고있다. 너와 모든 것이 잘 작동한다. 귀하가 관찰하는 편지함의 모든 폴더 목록을 가져와야합니다. 그리고 그것은 잘 작동합니다. 귀하의 코드는 다음과 같이 보일 것입니다 : List folders = GetAllFolderIds(); subscription = service.SubscribeToPullNotifications (폴더, 1440, 워터 마크, EventType.Moved); GetEventsResults currentevents = Subscription.GetEvents(); GetEvents()를 호출 할 때 메일이 가입 기간 사이에 이동하면 이동이 포함됩니다. –
@ JürgenHoffmann : OP가 올바른 대답으로 표시 할 수 있도록 답변으로 의견을 추가해야한다고 생각합니다. –