Как загрузить непрочитанное вложение электронной почты с помощью веб-службы Exchange в ASP.NET? - PullRequest
10 голосов
/ 15 сентября 2011

Я использую Exchange Server 2007 с пакетом обновления 3 (SP3)

и могу подключиться к веб-службе обмена, используя следующий код

ExchangeServiceBinding esb = new ExchangeServiceBinding();
esb.RequestServerVersionValue = new RequestServerVersion();
esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
esb.Credentials = new NetworkCredential("<user_id>", "<password>", "<domain>");
esb.Url = @"https://<server_fqdn>/ews/Exchange.asmx";

Я ищу код для загрузки непрочитанного вложения.

Не могли бы вы мне помочь?

1 Ответ

5 голосов
/ 15 сентября 2011

Я нашел это:

private static void ProcessItems(ExchangeService exchangeService)
{
    var offset = 0;
    const int pageSize = 100;

    FindItemsResults<Item> result;

    do
    {
        var view = new ItemView(pageSize, offset)
        {
            SearchFilter = new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false)
        };

        result = exchangeService.FindItems(WellKnownFolderName.Inbox, view);

        foreach (var item in result)
        {
            ProcessItem(item);
        }

        offset += pageSize;
    } while (result.MoreAvailable);
}

, затем из метода ProcessItem вы делаете все, что хотите, например, загружать вложения и так далее ...

источник: Обработка элементов в папке Exchange с использованием EWS Managed API

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