MAPI | это... Что такое MAPI? (original) (raw)

MAPI (англ. Messaging Application Programming Interface) — программный интерфейс, позволяющий приложениям работать с различными системами передачи электронных сообщений. MAPI позволяет получать, читать, создавать, отправлять сообщения, присоединять к ним файлы, получать доступ к присоединенным файлам и т. д.

Примерами приложений, использующих MAPI являются Microsoft MAPI Controls и Microsoft Outlook.

Содержание

Архитектура MAPI

MAPI обеспечивает единообразные способы взаимодействия приложений со множеством различных систем передачи электронных сообщений. Подсистема MAPI включает в себя:

Между подсистемой MAPI и системами передачи сообщений находятся поставщики услуг, связывающие системы. Большинство систем передачи сообщений включает три вида услуг: поставщиков хранения сообщений, поставщиков адресной книги или каталогов и поставщиков транспорта сообщений. Существуют и другие, реже используемые поставщики, такие как поставщики захвата сообщений и поставщики профилей.

Сообщения создаются при помощи форм, путём ввода информации пользователем или программно, без участия пользователя. Перед отправкой сообщения поставщик хранилища сообщений проверяет уникальность каждого адресата и наличие всей необходимой для передачи сообщения информации. В случае успешной проверки, сообщение помещается в очередь исходящих сообщений. Если хранилище сообщений имеет сильную связь (то есть может связываться с ним напрямую, без использования интерфейса MAPI) с поставщиком транспорта и сообщение не требует дополнительной обработки, то оно посылается поставщику транспорта без использования спулера. В остальных случаях спулер при необходимости производит обработку сообщения и, основываясь на адресе получателя, находит подходящий для отправки сообщения поставщик транспорта.

Интерфейсы MAPI

Имеется несколько клиентских интерфейсов MAPI:

Формы

Формы MAPI предназначены для создания и просмотра сообщений. Для каждого класса сообщений необходима своя форма. MAPI определяет несколько классов сообщений и реализует формы для их просмотра. Каждая форма реализуется в виде исполняемого COM-сервера, называемого сервером форм. Для использования формы приложение через интерфейс форм MAPI обращается к менеджеру форм, который загружает необходимый сервер форм и устанавливает связь между ним и вызывающим приложением.

Поставщики услуг

Поставщики услуг реализуют объекты, используемые прежде всего MAPI, но некоторые из которых могут использоваться и клиентскими приложениями. Часть объектов реализуется всеми поставщиками услуг, остальные специфичны для одного типа поставщика. Следующие объекты могут быть реализованы поставщиками:

Open Source MAPI

До недавних пор Open Source реализация MAPI была не полной. Но на данный момент существует как минимум три open source проекта, работающих над реализацией протокола MAPI в библиотеках свободного и открытого ПО (FOSS) для последующего использования в других open source приложениях. Этот список включает проект OpenMapi[1], MAPI4Linux от компании Zarafa (англ.) (также является частью OpenMapi) и libmapi[2], как часть проекта OpenChange[3], который в свою очередь используется в другом OpenChange подпроекте с названием Evolution-MAPI.[4] Evolution-MAPI — это агент (connector provider), который может быть установлен в популярном open source клиенте Evolution groupware.

Ссылки

Примечания

  1. OpenMapi.org
  2. MAPI Library
  3. OpenChange
  4. Gnome Evolution Plugin
Просмотр этого шаблона API и фреймворки Microsoft
Графика Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component
Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2
Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows
Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets
Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC
Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay
Коммуникации Messaging API · Telephony API · WCF
Администрирование и управление Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System
Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework
Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL)
Драйверы устройств Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD
Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI)
.NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF
Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF
IPC MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF
Доступность Active Accessibility · UI Automation
Текст и многоязнаяподдержка DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe