Программисту-профессионалу
В состав Windows 95 входит мощная универсальна система, обеспечивающая работу клиента электронной почты, - Exchange Inbox ("Входящие"). Однако, как выяснилось, в печатной документации к ней содержитс минимум информации, а во встроенной справочной системе нет упоминаний о целом ряде функций. В результате от пользователей поступают жалобы на недостаток средств, например, отсутствие возможности сохранить в своей адресной книге имеющийся в сообщении адрес. На самом деле такая функция существует, но нет интуитивно понятного способа найти ее, и, более того, она совершенно недокументирована.
Цель этой статьи состоит в том, чтобы осветить некоторые из основных функций Exchange Inbox, обнаруженных мною в процессе долгих экспериментов с этой программой и нескольких консультаций с Microsoft. Отдельные ее функции, в частности средства поиска, чрезвычайно полезны в работе. И, хотя пользовательский интерфейс этой программы не столь плох (значительно лучше, чем у Lotus Notes Mail), все же довольно запутан. Особенно трудно приходится тем, кто уже привык к работе с оболочкой Windows 95, хотя интерфейс и правила работы с программой Inbox во многом схожи с утилитой Explorer (Проводник), а отличия незначительны.
Основой системы Exchange Inbox служит архитектура MAPI - Mail Application Programming Interface фирмы Microsoft (рис. 1). Эта спецификация описывает правила взаимодействия между объектами пяти различных типов: хранилищами сообщений; адресными книгами; поставщиками услуг; прикладными программами с функциями доступа к MAPI и MAPI-клиентами.
Рис. 1. Взаимосвязь компонентов MAPI
Компоненты архитектуры MAPI
_____________
| MAPI- | _____________
| совместимые | | |
| прикладные |----->| MAPI-клиент |
| системы | |_____________|
|_____________| |
|
_____________ ________|________ ________________
| | | | | |
| Хранилище |<-->| Библиотеки MAPI |<--->| Адресные книги |
| сообщений | |_________________| |________________|
|_____________| |
|
<-------------------|------------------->
______|______ ______|______ ______|______
| | | | | |
| Поставщики | | Поставщики | | Поставщики |
| услуг N 1 | | услуг N 1 | | услуг N 1 |
|_____________| |_____________| |_____________|
В хранилище сообщений содержатся файлы с OLE-объектами; наиболее простой их пример - сообщени электронной почты. Однако здесь также могут быть любые заголовочные файлы, где дается описание этого OLE-объекта. Сведения о файле из заголовка OLE-объектов выводятся в списке объектов в правой части рабочего окна системы Exchange Inbox.
Адресная книга довольно обширна. К ее адресным элементам можно добавлять поля для конкретных поставщиков услуг.
Под поставщиками услуг здесь понимаются особые выходные драйверы архитектуры MAPI, предназначенные дл обработки запросов MAPI-клиента на отправку или прием почтовой корреспонденции. Не путайте этот термин с понятием поставщика услуг Internet (ISP - Internet service provider) - компаниями, организующими доступ к сети Internet.
Обращение к MAPI-клиенту производится из прикладных программ, содержащих функции доступа к архитектуре MAPI. Организуется это, как правило, в меню File (Файл) через команду Send (Отправить). Например, если вы установили систему Microsoft Fax, то список доступных принтеров пополняется новым элементом с этим именем. Однако, несмотря на свое название, фактически это - обычный вызов MAPI-клиента. (Его можно использовать дл отправки как факсимильных сообщений, так и электронной почты.) Таким образом, благодаря системе Microsoft Fax любая программа может в той или иной степени воспользоваться возможностями архитектуры MAPI.
Если судить о ролях отдельных компонентов данной архитектуры, то ее основной объект - MAPI-клиент (непосредственно сама система Exchange Inbox). Он обеспечивает взаимодействие пользователя с остальными компонентами данной архитектуры: хранилищами сообщений, адресными книгами и поставщиками услуг.
Для реализации архитектуры MAPI в среде Windows 95 используется три набора программ: семейство драйверов конкретных поставщиками услуг утилиты обслуживани почтовых и факсимильных сообщений из папки Control Panel (Панель управления), организующие взаимодействие с остальными компонентами данной архитектуры; и система Exchange Inbox, играющая роль интерфейса для доступа к личной адресной книге и собственным хранилищам сообщений.
В Windows предусмотрено три варианта поставщиков услуг; их можно установить либо при первоначальной инсталляции системы, либо позже через утилиту Add/Remove programs (Установка и удаление программ). К ним относятся следующие компоненты: Microsoft Fax, The Microsoft Network (MSN) и Microsoft Mail. На установочном компакт-диске Windows 95 в каталоге \drivers\other\exchange\compusrv содержится драйвер информационной службы CompuServe (обновленную версию этого драйвера можно получить с форума Windows Connectivity, GO WINCON. В комплект Microsoft Plus! включен модуль Internet Mail, осуществляющий связь с почтовыми серверами Internet через протоколы SMTP/POP3. Названный модуль также входит в состав системы Internet Explorer, которую можно получить с Web-сервера компании Microsoft.
В настоящее время на стадии бета-тестировани находится Microsoft Exchange Server - система управления информационными ресурсами и почтовой службой в масштабах предприятия, в состав которой войдет улучшенный вариант MAPI-клиента. Для того чтобы избежать путаницы, в Microsoft предложили называть его Exchange Client, а модуль из поставки Windows Exchange Inbox - MAPI-клиентом.
Спецификация MAPI относится к категории открытых архитектур, поэтому в ближайшем будущем можно ожидать появления альтернативных вариантов MAPI-клиента. В состав системы WinFax PRO фирмы Delrina входит полнофункциональный MAPI-клиент, обладающий средствами для чтения и обслуживания тех же хранилищ сообщений и адресных книг, что и Exchange Inbox. И, хотя в системе Eudora Pro фирмы QualComm такого полнофункционального клиента не будет, планируется включить в нее специальный модуль, который будет перехватывать обращения MAPI-совместимых прикладных систем к функциям MAPI и направлять их в свою программу обработки электронной почты.
В системе Exchange Inbox предусмотрен собственный добротный текстовый редактор для подготовки и чтени сообщений. В его выходные документы в формате RTF (в настоящее время с форматом RTF работают лишь MSN и ряд систем Internet) можно встраивать OLE-объекты. И, если у вас инсталлирован пакет Microsoft Office 95, с помощью этого редактора выполняется проверка орфографии.
Пользователи Microsoft Office 95 имеют еще и такую возможность: установить Microsoft Word в качестве редактора сообщений электронной почты. Дл использования этого режима работы Word, именуемого WordMail, следует дать соответствующее указание в параметрах установки Office Setup. После этого можно переключаться с одного редактора на другой, выбрав команду WordMail Options... (Параметры WordMail) из меню Compose (Сообщения) программы Exchange Inbox.
В режиме WordMail пользователю предоставляется ряд превосходных средств Word: вызов макрокоманд нажатием определенных комбинаций клавиш, всевозможные варианты выделения текста, проверка орфографии в фоновом режиме, AutoCorrect (Автозамена) и AutoText (Автотекст). Однако возможности редактора Exchange шире. Например, в режиме WordMail нет команды меню Insert Message (Вставка сообщения); вместо этого приходитс использовать операции копирования и вставки. Не предусмотрена также кнопка для ввода нового элемента в адресную книгу из окна адресного объекта (см. ниже); сделать это можно лишь через контекстное меню адресного объекта.
Однако, несмотря на все перечисленное, если у вас установлена система Microsoft Office 95, то, возможно, вам пригодится и WordMail.
При подготовке сообщения к отправке вы можете вызвать адресную книгу, щелкнув на кнопке To: (Кому...) или cc: (Копия...), но есть и другой, быстрый способ. Вы набираете часть названия адресата, нажимаете кнопку Check Names (Проверить имена), и в ответ текстовый процессор сверяется с адресной книгой. Если с вашим фрагментом совпадает лишь один элемент книги, то он и подставляется в данное поле. Если же таких элементов несколько, то вам будет представлен их список, из которого можно выбрать нужный.
В поля То: и cc: можно частично ввести даже несколько имен и адресов, разделенных между собой точкой с запятой, затем нажать кнопку проверки и выбрать имена из списка.
Если же нажать кнопку Send (Отправить) при неподтвержденных именах адресатов, редактор попытаетс решить эту проблему самостоятельно.
Рассмотрим с помощью редактора Inbox заголовок поступившего сообщения (а точнее, содержимое полей To: и From:). Поскольку эти данные выводятся черным шрифтом на сером фоне, может показаться, что они устарели и уже недействительны, но это не так. Выделите мышью любое имя из этих полей и дважды щелкните на нем. Если это имя не найдено среди элементов вашей адресной книги, на экране появляется диалоговое окно с уведомлением об этом.
Некоторые адресные объекты являются маркерами соответствующих элементов адресной книги: если дважды щелкнуть на нем, то появится полноформатное размеченное диалоговое окно с информацией для этого имени. Дл остальных же адресных объектов выводятся лишь три поля: имя, адрес электронной почты и тип электронной почты.
Обратите внимание на специальную кнопку с названием "Add to Personal Address Book" ("Поместить в личную адресную книгу"). Это - один из способов, как, получив сообщение от нового адресата, внести его имя в свою личную адресную книгу: следует просто дважды щелкнуть на этом имени, а затем на данной кнопке.
Если вместо встроенного редактора Inbox использовать WordMail, где только что описанного типа кнопки нет, есть другой способ добавления имен в адресную книгу. В обоих редакторах предусмотрено контекстное меню с пунктом "Add to Personal Address Book". Для его вызова следует щелкнуть правой клавишей мыши на выбранном адресном объекте.
При подготовке сообщений к пересылке также фигурируют адресные объекты - подчеркнутые имена в полях To: и cc:. Например, если вы отправляете ответ человеку, имя которого отсутствует в вашей адресной книге, то это имя в поле Reply будет подчеркнуто. Если дважды щелкнуть по такому имени, то появитс аналогичное окно с теми же тремя полями, что и дл адресатов в поступившем сообщении.
Адресным объектам присущи те же свойства, что и другим объектам Windows 95. Для них не только имеетс контекстное меню, можно также перемещать их с помощью механизма drag and drop или копировать их в буфер обмена, а затем вставлять.
В качестве простого примера того, насколько полезна возможность использования операции drag and drop с адресным объектом, рассмотрим, что произойдет, если в поступившем сообщении вы нажали кнопку Reply to All (Ответить всем). Имена отправителя и всех лиц из пол "To": исходного сообщения помещаются в поле "То": ответного сообщения; а все имена из поля "cc": исходного сообщения попадают в поле "сс:" ответа. Однако, что делать, если вы хотите, чтобы в поле "То": было лишь имя отправителя исходного сообщения, а все остальные имена были в поле "сс:"? Очень просто! Достаточно щелкнуть мышью на адресном объекте в поле "То:", предназначенном для переноса в поле "сс:", и "перетащить" их на новое место с помощью мыши.
Кроме этого, можно переносить методом drag and drop адресные объекты из поступивших сообщений в отправляемые. Если, работая с мышью, не отпускать клавишу Ctrl, то, щелкнув на нескольких объектах, можно перенести все за один раз. (В этом случае может оказаться, что между перечисленными объектами не будет точек с запятой. Нет проблем: при отправке данного сообщения или при щелчке на кнопке проверки автоматически появятся пропущенные разделители.)
Если вы намерены отправить сообщение адресату, а вносить его в свою адресную книгу не желаете, то достаточно поместить это имя в адресную часть своего сообщения, воспользовавшись методом drag and drop или командами копирования/вставки, - пока данное им присутствует на экране в каком-либо из поступивших сообщений. Но предположим, что этот адрес записан где-то на бумаге или в тексте какого-то сообщения вам, а вы хотите связаться с данным адресатом по электронной почте, не оставляя о нем записи в своей адресной книге.
В этом случае можно создавать свои собственные адресные объекты, используя одну из следующих двух синтаксических конструкций. Первый, обобщенный вариант предполагает использование элементов "[]" и ":". Во втором варианте, предназначенном исключительно дл задания адресов Internet, применяются элементы "@" и ".". Разберемся с первым вариантом. Щелкните на кнопке "Compose", введите в поле "To": строку [foo: bar] и щелкните на кнопке Check Names. Как по волшебству, строка [foo: bar] будет заменена на подчеркнутую надпись "bar".
Если теперь дважды щелкнуть на новом адресном объекте, обнаружится, что в поле типа электронной почты (е-mail type) появится значение "FOO", а в полях Display name (Имя пользователя) и E-mail address (Адрес электронной почты) - "bar". В этом диалоговом окне можно отредактировать любое из этих трех полей.
Конечно, вы не станете создавать адресный объект с бессмысленным типом FOO, но можете воспользоваться этим методом для указания реальных типов почтовых служб:
CompuServe COMPUSERVE Fax FAX Internet SMTP The Microsoft Network MSN
Например, для разовой отправки факсимильного сообщения по номеру 800-123-4567 введите строку [fax:1-800-123-4567] и щелкните на кнопке проверки. При желании можно изменить имя пользователя, дважды щелкнув на данном поле для редактирования его.
Если вы указали несуществующий тип службы электронной почты или ошиблись при наборе его названия, то редактор позволит вам "отправить" такое сообщение. Однако в какой-то момент вы получите уведомление от администратора системы о том, что не указано правильное имя поставщика услуг. Если был задан лишь один и при этом неверный адрес, то уведомление появится сразу. Если же были введены два адреса: верный и неверный, то такое уведомление появится лишь после того, как сообщение с правильным адресом будет отправлено. Однако в любом случае исходное сообщение будет помещено в папку Sent Mail (Отправленные) - странное правило в случае, когда все адреса были неверными.
Для создания новых адресных объектов кроме конструкции [TYPE: address] (Тип: адрес) имеется и вторая форма, предназначенная специально для задани адресов Internet. Для того чтобы программа Inbox смогла его опознать как адрес Internet, он должен содержать символ @, а следующая за ним подстрока должна содержать внутри себя точку, (например, billg@microsoft.com). После щелчка на кнопке проверки эта строка становитс адресным объектом с типом SMTP, соответствующим электронной почте Internet.
Тип SMTP допустим как для непосредственного обращения к Internet Mail, так и для MSN; но не дл CompuServe. Для того чтобы данный адресный объект мог быть распознан службой CompuServe, следует заменить тип на COMPUSERVE и добавить "internet:" перед строкой адреса.
Как и в случае с проверкой адресных книг, здесь нет необходимости после ввода выверенного адреса в любом из указанных форматов щелкать на кнопке проверки - при щелчке на кнопке отправки (или выборе в меню File (Файл) команды Send (Отправить)) соответствующие адресные объекты будут созданы автоматически.
Работая с электронной почтой Internet, вы можете столкнуться с одним затруднением. Если помимо уже имеющейся у вас системы MSN вы устанавливаете пакет Internet Mail Provider, возникнут некоторые проблемы. Проявляется это в следующем: при взаимодействии со своим поставщиком услуг Internet без проблем получать свою электронную почту вы будете, но любые предназначенные на отправку по Internet сообщени останутся в папке "Отправленные".
Для того чтобы понять причину и найти выход из создавшейся ситуации, следует перейти в диалоговое окно Options (Параметры) из меню Tools программы Exchange и переключиться на закладку Delivery (Доставка). В нижней ее части расположена надпись: "Recipient addresses are processed by these information services in the following order" (Исходящие сообщения обрабатываютс службами в приведенном ниже порядке). Сказанное означает, что если конкретный тип электронной почты "понятен" сразу нескольким службам, то отправляемое сообщение обрабатывается той из них, которая в списке идет первой. Поскольку SMTP - как тип электронной почты Internet - воспринимается как в MSN, так и драйвером вашего поставщика услуг Internet, то для отправки нужного сообщения через последнего следует удостовериться, что элемент Internet Mail находится в списке раньше элемента MSN. Чтобы изменить порядок следования элементов в списке, достаточно просто выделить нужный и переместить его с помощью стрелок, расположенных в правой части списка.
Mеню Tools (Сервис) содержит два вложенных меню, из которых пользователь может выбрать для себя службу, обеспечивающую отправку и получение корреспонденции: Deliver Now Using (Доставить почту) и Remote Mail (Удаленный доступ). Скорее всего у вас возникнет вопрос: из чего исходит Exchange, представив такой порядок перечисления этих служб? Все очень просто: это уже рассмотренный нами список из закладки Tools/Options/Delivery (Сервис/Параметры/Доставка). Однако в этих подменю службы следуют в порядке, обратном по отношению к списку в закладке Delivery. Меняя порядок в списке с помощью уже упоминавшихс стрелок, можно добиться определенного порядка следования служб во вложенном меню Deliver Now Using (Доставить почту) (данные исправления вступают в силу после перезапуска программы Exchange).
В папке Control Panel (Панель сообщения) имеетс утилита Mail and Fax (Почта и факс), с помощью которой пользователи могут расширить или сузить перечень доступных поставщиков услуг и хранилищ сообщений в каком-то профиле. Используя кнопку Show Profiles (Показать конфигурации), вы задаете несколько возможных профилей для программы Exchange.
Наличие нескольких профилей приобретает особое значение в том случае, когда один компьютер используют несколько человек. В различных профилях может быть указано одно и то же хранилище сообщений. В результате, работая с конкретной информационной службой, пользователи портативных компьютеров могут создать несколько профилей, отличающихся друг от друга лишь номерами доступа по телефонной линии связи. Наличие нескольких профилей также облегчает учет продолжительности работы отдельных пользователей с конкретной информационной службой. Имея дело лишь с одной такой службой, можно в каждом отдельном профиле предусмотреть индивидуальные идентификационные параметры для доступа к ней. На системе с несколькими профилями можно настроить программу Exchange таким образом, чтобы при каждом ее запуске требовалось указать профиль.
Даже если у вас лишь по одному выходу на конкретного поставщика услуг, в каждом отдельном профиле можно указать использование нескольких хранилищ сообщений и с помощью средств Exchange Inbox осуществлять копирование и перемещение сообщений между ними. Такая возможность может пригодиться для пересылки сообщений в архивное хранилище или для пересылки сообщений, собранных на портативном компьютере, в хранилище сообщений настольного ПК.
В целом Exchange Inbox - это мощная и интересна программа, остается только запастись временем на изучение ее возможностей.