Ход конем? Нет – птицей. Синей
О замене MS Exchange на разнообразные Open Source-решения вышло уже множество публикаций, особенно в последнее время, когда все чаще начали появляться более-менее стоящие альтернативы, которые обычно распространяются по принципу двойного лицензирования – существует Сommunity edition, которая бесплатная, и advanced (или еще как-нибудь называющаяся) edition, которая стоит денег. Об этом мы еще напишем полноценный обзор, а пока что попробуем решить диаметрально противоположную проблему – подключить Open Source-клиента к MS Exchange таким образом, чтобы получить функционал, максимально близкий к Outlook. Такое решение должно одинаково работать и в Windows, и в Linux.
Единственным кандидатом на такую роль является Mozilla Thunderbird, причем в решении данной принципиально невозможной задачи еще несколько лет назад существенную помощь оказал… сам Microsoft.
Каким образом, спросите вы? Да очень просто. После появления Exchange 2013 вся работа Outlook Web Access стала строиться на основе протокола Exchange Web Service (EWS), который в общем плане представляет собой запросы, передаваемые по порту 443, и возвращаемые на них ответы. Ну а дальше все просто – Exchange не различает запросов, переданных OWA или какой-либо еще другой программой, – он их просто выполняет и возвращает результат. Таким образом, найдя соответствующий плагин или установив соответствующую программу, можно получить функционал как минимум на уровне OWA.
Мы рассмотрим все основные сервисы Outlook и способы их реализации с помощью Thunderbird или сторонних программ. Рассматриваться будут не только почта, но и полный комплект Groupware-сервисов – календарь, задачи, контакты, заметки.
Почтовый сервис через Davmail
В первую очередь рассмотрим, конечно же, самое главное – почту. Казалось бы, c этим проблем никаких нет – Exchange поддерживает IMAP/POP3, достаточно настроить подключение к серверу, и все заработает. Но не все так просто, как кажется.
По совершенно необъяснимым причинам IMAP, встроенный в Exchange, работает чрезвычайно медленно. Возможно, это связано с недостаточной настройкой. Возможно, так и задумывалось – сказать трудно. Но, если в почтовом клиенте существует большое количество локальных фильтров, клиент может просто не успевать получать новые письма от сервера, а веб-интерфейс, например, Horde Groupware, позволяющий задавать подключение к серверу, расположенному на другом компьютере, просто выдает ошибку соединения с сервером. При этом никаких ошибок со стороны Exchange-сервера не фиксируется, IMAP работает нормально – просто очень медленно.
Ну и, кроме того, IMAP на Exchange может быть просто не разрешен – политикой организации может предусматриваться взаимодействие исключительно через MAPI или EWS. Как поступить в такой ситуации?
Специально для таких случаев была разработана программа Davmail Gateway [1], распространяемая по лицензии GNU GPL. Идея ее чрезвычайно проста: на компьютере запускается локальный модуль-переходник, который принимает запросы по стандартным протоколам IMAP/SMTP, а передает полученные запросы (на получение или отправку почты) по протоколу EWS, точно так же, как это делает OWA, в результате чего письмо, отправленное через Davmail, невозможно отличить от письма, отправленного через OWA.
Davmail – приложение, написанное на языке Java, поэтому оно работает одинаково и в Windows, и в Linux, и в FreeBSD. Для Windows существует инсталлятор, Linux-версия просто распаковывается в каталог и запускается davmail.sh. Настойки совершенно идентичны, поэтому описывается Windows-версия.