Работа с MS Exchange — II

Составление строки поиска

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

В примере выше использован только один из вариантов. Сейчас я покажу как можно объединить условия поиска, общий алгоритм прост:

  • Создаем необходимые фильтры
  • Объединяем их в коллекции по логическому использованию «И» или «ИЛИ»
  • Создаем специальные коллекции для использования

 

Я думаю, что основная идея, как это работает, ясна. Так же советую поэкспериментировать с разными критериями поиска.

Подробнее

Работа с MS Exchange — I

сложность 100-200

Когда ко мне пришла задача по вытаскиванию вложений из писем с нашего Exchange сервера, я весь внутренне содрогнулся, скривился и постарался откреститься от этой задачи, так как в памяти еще до сих пор свеж опыт работы с VSTO. Я думал, что это будет такой же кромешный ад и страдания в попытке разобраться в логике компонентов, что и для excel и word.

Первые предположения сделали за меня, подумав, что надо будет соединятся с Outlook и через него выдирать сообщения и вложения к ним. К тому письму приложили до кучи пример, мол вот уже все готово, только оформите нам службу красивую. В примере конечно же использовались обертки над COM, с заголовками с структурами работы с С++. С этим языком я работал только в университете и как-то мне не улыбалось снова к нему обращаться, так как не умею на должном уровне. Помимо самой реализации, с которой возникли бы большие проблемы при желании как-то расширить пример, а такие желания возникают обязательно, была проблема безопасности Outlook, который спрашивал разрешения пользователя каждый раз, когда бы служба лезла к ящику. Кроме того реализация не учитывала новые клиенты и Office 2013 шел лесом. В общем, косяков слишком много, чтобы делать что-то серьезное таким способом.

Мир не мог быть так жесток и пришло спасение в виде EWS Managed API от самой MS. Полностью управляемый код для общения с сервером Exchange, что на мой взгляд гораздо лучше для работы с почтой, чем использовать API Outlook.

Кратно о возможностях библиотеки:

  • Возможность создавать, читать, манипулировать всеми пользовательскими элементами сервера (письма, контакты, календарные события, правила).
  • Не требуется пакет офис на целевой машине
  • Автоматический поиск сервера. Т.е. вы вводите только имя пользователя, пароль и имя ящика, все другие необходимые данные для связи библиотека постарается найти сама, в точности как Outlook.
  • NTLM и явная авторизация.

Все подробности по библиотеке и возможности, вы сможете прочитать на официальной странице.

Что будет показано в статье?

Я планирую показать далее следующие техники:

  • Поиск писем и папок
  • Создание и отправка писем. С вложениями.
  • Удаление писем.
  • Ответ и форвардинг писем.
  • Получение писем, уведомления, извлечение вложений.

Подробнее