Использование Exchange управляемого API (EWS) для мониторинга вложений почтовых ящиков - PullRequest
3 голосов
/ 13 апреля 2011

Я планирую создать службу Windows, которая будет контролировать почтовый ящик для обмена сообщениями с определенной темой. Вложения из таких электронных писем должны храниться в определенной папке на сетевом ресурсе. Я полагаю, что могу добиться этого, используя управляемый API-интерфейс веб-служб Exchange (используя Exchange 2007 с пакетом обновления 1).

Если у вас есть опыт работы с этим, пожалуйста, поделитесь некоторыми примерами или ссылками, отличными от ссылки MSDN ниже, которые могут дать мне толчок для начала.

http://msdn.microsoft.com/en-us/library/dd633696%28v=EXCHG.80%29.aspx

Ответы [ 2 ]

9 голосов
/ 29 апреля 2011

Допустим, эти письма поступают в ваш почтовый ящик «Входящие на X».Вы создаете подписку на эту папку следующим образом:

PullSubscription subscription = 
SomeExchangeService.SubscribeToPullNotifications(
new FolderId[]{ WellKnownFolderName.Inbox },1440,"",EventType.Created);
Subscriptions.Add(subscription);

Теперь вам нужно установить таймер и проверить извещающие уведомления

static void Exchanger_Elapsed(object sender, ElapsedEventArgs e)
    {    
        foreach (var pullSubscription in Subscriptions)
        {
            foreach (var itemEvent in pullSubscription.GetEvents().ItemEvents)
            {
                Item item = Item.Bind(SomeExchangeService, itemEvent.ItemId);
                if (item.Subject == someString)
                {
                  //  item.Attachments do something
                  //  As in read it as a stream and write it 
                  //  to a file according to mime type and file extension
                }
            }
        }
   }

Надеюсь, это поможет ...

ОБНОВЛЕНИЕ По электронной почте запрос

public static List<PullSubscriptionpublic static List<PullSubscription> Subscriptions = new List<PullSubscription>();> Subscriptions = new List<PullSubscription>();
0 голосов
/ 01 мая 2011

Рассмотрите возможность создания папки поиска для отображения сообщений.Вам нужно будет только искать и обрабатывать сообщения в папке поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...