Занятие 1. Microsoft Messaging API
(Продолжительность занятия 30 минут)
В состав ОС семейства Windows входит интерфейс прикладного программирования коммуникационных приложений Messaging Application Programming Interface (MAPI), позволяющий разрабатывать приложения для доступа к почтовой, факсимильной и другим видам информации. На этом занятии Вы узнаете о преимуществах MAPI и принципах его работы.
Архитектура MAPI
Подсистема MAPI позволяет снабдить любое Windows-приложение средствами доступа к сообщениям. Это упрощает выполнение таких операций среды рабочей группы, как совместное использование информации. Кроме того, стандарт MAPI не ограничивает компании в выборе коммуникационных систем и приложений. Поскольку MAPI — часть операционной системы Windows, все эти системы и приложения могут быть интегрированы с рабочим столом пользователя.
MAPI включает функции и объектно-ориентированные интерфейсы, необходимые клиентскому приложению и поставщику услуг MAPI.
MAPI можно применять для создания приложений, снабженных средствами для работы с почтой. Компоненты ядра MAPI позволяют без труда подключать любые подобные программы и приложения для рабочих групп к MAPI-совместимым информационным службам. Например, воспользовавшись драйверами MAPI, можно подключить Microsoft Exchange к большинству открытых или закрытых почтовых систем.
Внешний, или клиентский, программный интерфейс MAPI состоит из трех частей. Базовые интерфейсы — Simple MAPI и Common Messaging Calls (CMC) — адресованы приложениям, которым необходимы лишь основные почтовые функции. Интерфейс Extended MAPI предназначен для создания полнофункциональных почтовых систем.
Simple MAPI
В состав Simple MAPI входят базовые функции, позволяющие Вам добавить в приложение (например, в электронную таблицу или в текстовый редактор) средства работы с почтой. Simple MAPI также применяют для построения пользовательских коммуникационных приложений. Хотя функциональные возможности Simple MAPI ограничены и их можно использовать только в среде Windows, они позволяют:
Как и Simple MAPI, CMC содержит функции, средствами которых Вы без труда снабдите свое приложение средствами работы с почтой. Его также применяют и для создания собственных коммуникационных приложений. CMC предназначен для минимизации числа вызовов функций, необходимых для отправки и приема сообщений. Например, чтобы послать сообщение, достаточно вызвать всего одну функцию, а чтобы принять — две. Вот отличительные характеристики CMC:
Примечание. SDK для Simple MAPI и Common Messaging Calls опубликованы на
компакт-дисках Microsoft Developer Network (MSDN).
Extended MAPI
Extended MAPI — это более сложный, объектно-ориентированный API, предназначенный для приложений, которые постоянно и интенсивно взаимодействуют с почтовой системой. Extended MAPI позволяет:
Последние позволяют заменить стандартные средства отправки и приема сообщений формой, предназначенной для конкретной организации, например, в виде табеля или календаря. Кроме того, форма может включать заполненные заранее информационные поля.
“Интеллектуальные” формы похожи на специализированные, но способны связывать информацию полей формы с другими приложениями. Например, полученную таким образом табельную информацию можно переадресовать программе расчета заработной платы.
Подсистема сообщений MAPI
CMC, Simple MAPI и Extended MAPI предоставляют необходимые коммуникационным приложениям функции API. Последние работают со вторым функциональным уровнем MAPI — подсистемой сообщений (messaging subsystem), которая обрабатывает вызовы функций API и выполняет необходимые действия (рис. 11. 1). Подсистемой ее называют потому, что она фактически является составной частью операционной системы.
Рис. 11.1 Применение MAPI для создания приложений, снабженных средствами работы с почтой
Подсистема сообщений MAPI разделяет задачи, предназначенные для разных транспортных служб. Драйверы для каждого транспорта (в виде библиотеки динамической загрузки) реализуют так называемый интерфейс доступа к сервису (Service Provider Interface, SPI) между почтовой подсистемой MAPI и серверной почтовой системой.
Интерфейсы доступа к сервису
Третий функциональный уровень MAPI обеспечивает независимость программ от конкретной системы сообщений. Коммуникационные приложения, отвечающие стандарту MAPI, могут при наличии соответствующих драйверов общаться с любыми службами сообщений, также как при наличии соответствующих драйверов документ можно распечатать на разных принтерах.
Преимущества использования MAPI
Открытая архитектура MAPI обеспечивает всем приложениям-клиентам MAPI простой и надежный доступ к информации из самых разных источников, включая факсимильную связь, доски объявлений и электронную почту. Пользователи Windows вправе сами подобрать драйвер для нужной серверной службы.
Благодаря этим драйверам, клиентские приложения могут одновременно работать с несколькими системами сообщений, например Microsoft Mail, Novell MHS и IBM PROFS, не требуя настройки для конкретной системы.
Использование MAPI в Microsoft Visual Basic
Элементы управления MAPI позволяют создавать приложения Visual Basic, снабженные средствами для работы с сообщениями. Таких управляющих элементов два:
Элемент управления MAPISession позволяет зарегистрироваться в коммуникационной системе и создать сеанс MAPI. Он же используется для завершения сеанса MAPI.
Элемент управления MAPIMessages реализует различные функции системы сообщений в течение сеанса, созданного элементом управления MAPISession.
Private Sub GetlastMessage_Click()
Dim strHeader As String
'Регистрация, открытие почтового сеанса и загрузка почты.
MAPISession1.Action = mapSignOn
MAPIMessagesI.SessionID = MAPISessionI.SessionID
MAPIMessages1.Fetch
'Последнее сообщение в почтовом ящике Inbox.
MAPIMessagesI.Msglndex = MAPIMessagesI.MsgCount - 1
strHeader = "От кого: " & MAPIMessagesI .MsgOrigDisplayName
strHeader = strHeader & " Тема: " &
MAPIMessagesI.MsgSubject
'Вывод текста сообщения в окно сообщений и
'завершение сеанса.
MsgBox MAPIMessagesI.MsgNoteText, , strHeader
MAPISessionI.Action = mapSignOff
End Sub
Поддержка MAPI посредством управляющих элементов ActiveX
В этом упражнении Вы с помощью элементов управления ActiveX создадите на Visual Basic приложения, снабженные средствами для работы с почтой. Используемые в этом упражнении элементы управления ActiveX обеспечивают интерфейс с MAPI. ^ Установка Microsoft Mail Postoffice
Поле |
Значение (все символы строчные) |
Name |
admin |
Mailbox |
admin |
Password |
password |
Остальные поля можно не заполнять. Нажмите ОК.
> Как открыть папку Inbox в Windows 95
> Использование элементов управления MAPI в Visual Basic
Элемент управления |
Свойство |
Значение |
Textl |
Name |
txtEmail |
Text2 |
Name |
txtSubject |
RichTextBox1 |
Name |
rtbMessage |
Command 1 |
Name |
cmdSendMail |
|
Caption |
&Send Mail |
MAPISession1.SignOn
With MAPIMessages1
.SessionID = Form1.MAPISession1.SessionID
.Compose
.MsgSubject = txtSubject.Text
.MsgNoteText = rtbMessage.Text
.RecipAddress = txtEmail.Text
.AddressResolveUI = True
. ResolveName
.Send False
End With
MAPISessionI.SignOff
Сообщение будет отправлено Вашей учетной записи в почтовом отделении Windows 95.
Резюме
Microsoft Messaging API обеспечивает пользователям организации доступ к информации, поступающей от MAPI-совместимых почтовых систем. Открытая архитектура MAPI позволяет интегрировать клиентские приложения MAPI с такими службами, как факс, доски объявлений и электронная почта.
В состав MAPI входят три разновидности клиентских API. Simple MAPI и Common Messaging Calls (CMC) адресованы разработчикам приложений, которым необходим только набор базовых функций для работы с сообщениями. Extended MAPI предназначен для создания полнофункциональных коммуникационных приложений.
MAPI предоставляет программам, работающим с сообщениями, необходимые функции API. Вызовы обрабатывает второй функциональный уровень MAPI — подсистема сообщений.
Элементы управления MAPI позволяют снабжать приложения на Visual Basic средствами для работы с сообщениями. Элемент управления MAPISession обеспечивает регистрацию в коммуникационной системе и создание сеанса MAPI, а также завершение сеанса. Элемент управления MAPIMessages реализует различные функции системы сообщений в течение сеанса, созданного элементом управления MAPISession.