Продукты, расширяющие возможности Exchange Server и Outlook
Продукты для организации совместной работы от Microsoft появились на рынке достаточно давно, начиная с выпуска первых версий Exchange Server. В те времена в роли клиента Exchange Server выступала довольно простая программа — Exchange Client for Windows. Возможно, многие помнят этот продукт, поскольку он стал достаточно широко применяться с выходом Microsoft Windows 3.11 для рабочих групп. Позже Microsoft Outlook заменил Exchange Client.
Сегодня компания Microsoft предлагает широкий спектр решений в рассматриваемой нише: это и SharePoint Services, и Office System, и Exchange Server. Однако сердцем электронной экосистемы по-прежнему остается связка Exchange Server + Outlook из пакета Microsoft Office. Microsoft Outlook на данный момент является единственным полноценным клиентом MAPI, «родным» для Exchange Server. Даже в случае автономной установки Outlook представляет собой удобный органайзер и почтовый клиент. Вкупе же с Exchange Server раскрывается весь его потенциал. Exchange Server предоставляет возможности совместного доступа к общим папкам, календарям, задачам, является почтовым сервером и обладает развитыми средствами расширения возможностей совместной обработки документов. Программные интерфейсы Exchange Server позволяют достаточно просто реализовывать решения по организации документооборота и подключать другие бизнес-приложения.
Outlook входит в состав стандартного и профессионального выпусков Microsoft Office, а также поставляется как отдельная программа. Exchange Server выпускается в версиях Standard и Enterprise, которые отличаются друг от друга возможностями масштабирования. Отдельно хотелось бы отметить версию в составе Microsoft Small Business Server (SBS). В состав стандартной редакции этого набора серверных продуктов входят Exchange Server, Outlook, Windows Server, SharePoint Services, Shared Fax Service. Редакция Premium включает, помимо названных продуктов, SQL Server, FrontPage и ISA Server. Клиентская лицензия на SBS включает лицензию на Outlook. SBS отличается упрощенными средствами установки и администрирования, а также низкой стоимостью.
Итак, будем предполагать, что некоторая организация выполнила установку связки Exchange Server + Outlook. С какими наиболее вероятными задачами придется столкнуться системным администраторам?
Миграция или поддержка POP3
Во многих случаях для небольших организаций является актуальной задача прозрачного для пользователей объединения внешних серверов POP3 и внутреннего Exchange Server. Для решения этой задачи в SBS реализован Microsoft Connector for POP3 Mailboxes. К сожалению, он имеет ряд существенных недостатков и ограничений. В обычной поставке Exchange Server такой коннектор попросту отсутствует.
Задача может быть решена путем использования расширений протокола SMTP (а именно поддерживаемой Exchange Server командой ETRN). И все же зачастую такое решение неприемлемо, так как требует дополнительных настроек со стороны провайдера — держателя сервера POP3. Кроме того, существуют определенные ограничения по доставке почты.
Задача может быть решена путем установки дополнительного почтового шлюза, который будет получать почту с внешнего сервера POP3 и доставлять ее получателям, поскольку Exchange Server сам является почтовым сервером. Недостаток метода в том, что должно быть установлено дополнительное программное обеспечение со своими средствами администрирования, ограничениями и неизвестной степенью интеграции с существующей инфраструктурой организации, основанной на Active Directory.
Наконец, задача могла бы быть решена, если бы в Exchange Server существовал тип коннектора POP3, который бы обладал достаточной гибкостью и функциональностью. И такой продукт существует, это Native POP3 Connector компании «Мапилаб».
После проведения несложной установки Native POP3 Connector, в Exchange System Manager (группа Connectors) появляется возможность подключения нового типа коннектора. Этот коннектор прост в использовании, имеет стандартный для Exchange System Manager интерфейс. Поддерживается большое число почтовых ящиков с многопоточной обработкой, гибкий планировщик и аудит для каждого из них, безопасные соединения SSL, возможность оставлять почту на сервере POP3. Интервал опроса почтовых ящиков может быть выставлен вплоть до одной секунды. Почтовые ящики могут быть как однопользовательскими, так и глобальными (catch-all) для организации (см. экран 1).
Native POP3 Connector тесно интегрируется с Active Directory. При его добавлении в Exchange System Manager в Active Directory создается контейнер класса mapilabltdNpc2 по следующему пути контекста именования конфигурации домена (используется синтаксис LDAP):
CN=Native POP3 Connector,CN=Connections,
CN=<Маршрутная группа>,CN=Routing Groups,
CN=<Административная группа>,CN=Administrative Groups,
CN=<Организация>,CN=Microsoft Exchange,CN=Services,CN=Configuration
При добавлении новых почтовых ящиков в этом контейнере создаются экземпляры класса mapilabltdNpc2Mailbox. Классами mapilabltdNpc2 и mapilabltd Npc2Mailbox схема Active Directory расширяется в процессе установки Native POP3 Connector на сервер.
Что это дает? В первую очередь привычную администратору гибкость управления Exchange Server посредством Microsoft Management Console. Кроме того, возможна инспекция конфигурации Native POP3 Connector при помощи административных сценариев и утилит для работы с Active Directory. Например, ADSI Edit из комплекта Support Tools для Windows Server.
В листинге 1 приведен пример сценария, получающего список сконфигурированных почтовых ящиков Native POP3 Connector (использован синтаксис VBScript, обработка ошибок опущена для упрощения кода).
Приведенный сценарий выводит список серверов POP3 и принадлежащие им почтовые ящики. Для целей конкретной организации нужно заменить названия маршрутной группы, административной группы, организации и домена на используемые в данной почтовой организации Exchange.
Тесная интеграция с Active Directory выражается и в автоматическом определении получателей Exchange Server. Допустим, у нас имеется глобальный почтовый ящик POP3 для всей организации (или ее части). Как Native POP3 Connector будет определять, кому доставить очередное письмо? Последовательность действий в этом случае такова:
- Из полученного письма извлекаются значения заголовков To, CC и дополнительных заголовков, указанных на закладке настроек почтового ящика Recipients.
- Дополнительные заголовки обычно могут быть такими: X-RCPT-To, X-Envelope-To и/или другими, в зависимости от сервера SMTP провайдера. В них обычно содержится оригинальный адресат письма, и это единственный способ определить адресата "слепой копии" - BCC.
- Выполняется разрешение адресов электронной почты по значениям этих заголовков.
- этом выполняется поиск в границах леса доменов, определенных на закладке настроек Advanced коннектора. Поиск выполняется по атрибуту Active Directory proxyAddresses. Поэтому, чтобы получатели определялись правильно, нужно добавить необходимым пользователям соответствующие внешние адреса SMTP. Сделать это можно, используя оснастку Active Directory Users and Computers, выбирая свойства групп и пользователей и добавляя адреса на закладке E-mail Addresses.
- Письмо доставляется найденным адресатам.
- Если не найдено ни одного адресата, письмо доставляется администратору, указанному на закладке General диалога настроек коннектора.
Итак, при помощи Native POP3 Connector можно быстро обеспечить поддержку внешних серверов POP3 в своей организации Exchange Server. При этом администратор получает знакомые и привычные инструменты управления, включая возможность получения отчетов посредством запросов LDAP.
Сортировка и серверные правила обработки входящей почты
Microsoft Outlook позволяет создавать правила обработки почты. В некоторых случаях эти правила могут быть серверными, т. е. исполняться на Exchange Server. Однако существует ряд ограничений, присущих этим правилам.
Начнем с того, что в Outlook можно создать ограниченное число правил. Общий объем, занимаемый правилами для одной учетной записи, не может превышать 32 Кбайт. Это порядка 30-40 правил. Правила в Outlook имеют одно неприятное свойство — они могут не отрабатывать в некоторых условиях, когда четкие границы не определены. Существует конкретный набор правил, который не может быть расширен. Возможности серверных правил сильно ограничены. Кроме того, нельзя централизованно управлять созданием и настройкой правил — делается это на рабочем месте каждого пользователя Outlook.
Хотелось бы иметь возможность сортировки и обработки входящей почты на сервере. Желательно, чтобы список возможных правил расширялся. Ну и в идеале, чтобы такие правила были тесно интегрированы как с Exchange System Manager, так и с Active Directory. Такая возможность есть — ее обеспечивает приложение MAPILab Rules for Exchange.
MAPILab Rules for Exchange позволяет администратору создавать и настраивать правила Outlook из окна привычного Exchange System Manager. Список правил и их возможности постоянно расширяются от версии к версии. Наряду с этим продукт полностью интегрирован с Active Directory. Контейнер класса mapilabltdMRE располагается по следующему пути в контексте именования конфигурации домена (синтаксис LDAP):
CN=MRE,CN=Global Settings,CN=<Организация>,
CN=Microsoft Exchange,CN=Services,CN=Configuration
В этом контейнере содержатся правила, являющиеся экземплярами класса mapilabltdMRERule.
Установив MAPILab Rules for Exchange на сервер, администратор получает соответствующий раздел в группе Tools в меню Exchange System Manager (см. экран 2). После этого правила можно создавать, используя контекстное меню. Делать это не сложнее, чем в Outlook.
В качестве простого примера рассмотрим следующую задачу: надо, чтобы сообщения, помеченные как спам (нежелательная почта), помещались в определенную папку пользователя (в нашем примере папка Spam, расположенная внутри папки Inbox/Входящие). В качестве критерия, определяющего сообщение как нежелательное, выберем содержащийся в нем заголовок X-Spam со значением Yes. Такие сообщения обычно приходят с серверов, выполняющих фильтрацию спама тем или иным методом. Как это сделать, не используя MAPILab Rules for Exchange?
Рассмотрим сценарий, приведенный в листинге 2 (использован синтаксис VBScript, обработка ошибок опущена для упрощения кода).
Для того чтобы этот сценарий заработал, необходимо выполнить несколько действий. Вначале следует учесть, что нам необходимо приложение COM+, которое будет вызывать созданный нами сценарий. Это приложение можно создать, используя оснастку Component Services. Однако Exchange Server в ходе установки по умолчанию не регистрирует соответствующие библиотеки. Поэтому надо зарегистрировать их самостоятельно. После этого появится возможность создать приложение COM+, поддерживающее вызов сценариев в качестве обработчиков событий хранилища Exchange Server. В заключение надо будет зарегистрировать написанный нами сценарий. Для этого в Exchange SDK существует специальная утилита. Описанная последовательность действий более подробно выглядит так:
- В подпапке bin сервера Exchange Server выполнить следующие команды:
> regsvr32 exodbesh.dll
> regsvr32 exodbprx.dll - Используя оснастку Component Services из набора административных приложений, создать новое пустое серверное приложение COM+, указав учетную запись пользователя, обладающего полными правами на необходимый нам почтовый ящик.
- Добавить в созданное нами приложение COM+ новый компонент, выбрав библиотеку exodbesh.dll.
- Зарегистрировать наш сценарий, используя утилиту RegEvent.vbs из Exchange SDK, выполнив следующую команду:
> cscript RegEvent.vbs Add "OnSyncSave" ExOleDB.ScriptEventSink.1 "file://./backofficestorage/<Домен>/MBX/<Ящик>/ Inbox/XSpam" -file <Путь>xspam.vbs WHERE "DAV:ishidden" = False
Полагая, что Домен - имя домена организации Exchange, Ящик - псевдоним пользователя в Exchange (обычно совпадает с названием его учетной записи), Путь - полный путь к файлу xspam.vbs, в котором находится написанный нами ранее сценарий. - Удалить созданную нами регистрацию можно, выполнив команду:
> cscript RegEvent.vbs Delete "file://./backofficestorage/<Домен>/MBX/<Ящик>/ Inbox/XSpam"
Это первый из путей решения задачи. Теперь рассмотрим, как сделать то же самое с использованием MAPILab Rules for Exchange. Потребуется создать правило, щелкнув мышкой на соответствующей группе Exchange System Manager и выбрав New, Rule. Затем нужно будет задать следующие параметры в Мастере правил постранично:
- В When a message goes to specified recipient указать получателя (для которого мы регистрировали сценарий выше).
- В Message header contains specific words указать в качестве строки "X-Spam: Y" и включить регистронезависимый поиск.
- В Move it to the specified mailbox folder указать Spam в качестве папки.
- Дать правилу название и нажать кнопку Finish.
Правило появится в соответствующем списке MAPILab Rules for Exchange. После этого для изменения настроек достаточно щелкнуть по нему мышкой.
Какие плюсы и минусы у каждого из решений? При использовании сценариев в качестве плюса можно указать отсутствие прямых затрат на приобретение дополнительного программного обеспечения. Плюсом также является гибкость подхода — в принципе можно написать сценарий, выполняющий любое необходимое действие. Наконец, плюсом является возможность тонкой настройки с учетом всех требований ИТ-политики предприятия, включая политику безопасности.
Однако существуют и минусы. Прежде всего, это трудоемкость создания и отладки сценариев, выполняющих достаточно сложные действия (например, такие как перемещение писем между почтовыми ящиками разных пользователей и общими папками). Масса косвенных затрат, связанных с разработкой и использованием сценариев. Сложность поддержки имеющихся решений, построенных на сценариях. Высокая степень зависимости от разработчика сценариев. Наконец, не так просто найти специалистов, готовых этим заниматься, а разработка сценариев на заказ может оказаться весьма дорогостоящей.
Плюсы MAPILab Rules for Exchange налицо: простота использования, практически нулевые затраты на владение — с администрированием правил вполне может справиться администратор начальной квалификации — и высокая производительность.
Из минусов можно отметить четко ограниченные возможности и затраты на покупку продукта. Однако компания «Мапилаб» постоянно совершенствует свой продукт, расширяя его все новыми и новыми правилами, а отдача от снижения стоимости владения Exchange Server может с лихвой перекрыть стоимость продукта.
А если все же без Exchange Server?
Руководители многих предприятий малого бизнеса задумываются: у нас есть небольшая локальная сеть, у нас есть Microsoft Office, можно ли организовать совместную работу без использования Exchange Server? Да, это возможно. Решить задачу поможет MAPILab Groupware Server (MGS). Этот продукт представляет собой расширение Outlook, предоставляющее возможность использовать любое из локальных хранилищ Outlook в качестве общего. При этом не требуется выделенный сервер — с MGS в роли сервера может выступать Outlook любого пользователя сети. Программа прекрасно подходит для небольших организаций (до 50 пользователей), проста в управлении и не нуждается в сопровождении.
Установив MAPILab Groupware Server (см. экран 3), организация получает возможность работать с общими папками, контактами, календарями, задачами так, как если бы для этих целей использовался Exchange Server. Поддерживается разграничение прав доступа к общим элементам на уровне групп и отдельных пользователей. Для этой цели применяется специальная административная консоль, позволяющая управлять пользователями и группами, а также изменять права доступа к общим элементам с любого компьютера, находящегося в локальной сети.
Подведем итоги
В завершение хотелось бы отметить, что использование описанных в статье продуктов позволяет без труда обеспечить функции совместной работы в сети компании как с сервером Exchange, так и без него.
Алексей Кузнецов - Директор по серверным технологиям компании «Мапилаб», MCSD. kuznetsov@mapilab.com
Полезные ссылки
Домашняя страница Microsoft Office System: http://www.microsoft.com/rus/office/
Домашняя страница Microsoft Exchange Server: http://www.microsoft.com/rus/exchange/
Домашняя страница Native POP3 Connector: http://www.mapilab.com/ru/exchange/pop3_connector/
Домашняя страница MAPILab Rules for Exchange: http://www.mapilab.com/ru/exchange/rules/
Домашняя страница MAPILab Groupware Server: http://www.mapilab.com/ru/groupware/server/
Основной источник для разработчиков на базе технологий Exchange Server: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_techsel_bytechnology.asp