Интерфейс программирования приложений для обмена сообщениями ( MAPI ) - это API для Microsoft Windows, который позволяет программам распознавать электронную почту . Хотя MAPI разработан, чтобы быть независимым от протокола, он обычно используется для связи с Microsoft Exchange Server . [1]
Подробности
MAPI использует функции, в общих чертах основанные на стандарте X.400 XAPIA . Она включает в себя средства для доступа транспортных сообщений , хранилищ сообщений и каталогов .
В то время как простой MAPI (SMAPI) представляет собой подмножество из 12 функций, которые позволяют разработчикам добавлять базовые функции обмена сообщениями, расширенный MAPI (EMAPI) позволяет полностью контролировать систему обмена сообщениями на клиентском компьютере. Сюда входит создание сообщений и управление ими, а также управление почтовым ящиком клиента и поставщиками услуг.
Простой MAPI входит в состав Microsoft Windows как часть Outlook Express / Windows Mail, а полный расширенный MAPI входит в состав Microsoft Outlook и Exchange .
В дополнение к расширенному клиентскому интерфейсу MAPI, программные вызовы могут выполняться косвенно через клиентский интерфейс Simple MAPI API, через клиентский интерфейс API Common Messaging Calls (CMC) или объектно-ориентированный интерфейс библиотеки CDO . Эти три метода проще в использовании и предназначены для менее сложных приложений с поддержкой обмена сообщениями. (Простые MAPI и CMC были удалены из Exchange 2003.)
MAPI был первоначально разработан Microsoft . Компания основала свою команду MS Mail в 1987 году, но только в 1991 году она приобрела Consumers Software и приобрела Network Courier , у нее появился продукт для обмена сообщениями. В переработанном виде он продавался как MS PC Mail (или Microsoft Mail for PC Networking). Базовый API для MS PC Mail позже был известен как MAPI версии 0 (или MAPI0 ), чтобы отличать его от «истинного» MAPI.
Интерфейс поставщика услуг
Полный интерфейс Extended MAPI требуется для взаимодействия служб обмена сообщениями с клиентскими приложениями, такими как Outlook. Например, несколько поставщиков продуктов для серверов электронной почты, не принадлежащих Microsoft, создали «поставщиков услуг MAPI», чтобы обеспечить доступ к своим продуктам через Outlook. Известные примеры включают Axigen Mail Server , Kerio Connect , Scalix , Zimbra , HP OpenMail , IBM Lotus Notes , Zarafa / Kopano и Bynari .
MAPI также имел своего рода интерфейс поставщика услуг. Microsoft использовала это, чтобы связать MS Mail с почтовой системой на базе Xenix для внутреннего использования.
Расширенный MAPI - это основной метод доступа к данным электронной почты, используемый Outlook для взаимодействия с Microsoft Exchange через поставщиков услуг MAPI, поставляемых с Outlook.
Детали протокола MAPI / RPC
Microsoft опубликовала полную информацию о протоколе MAPI / RPC с августа 2007 года. [2]
«Протокол MAPI» - это разговорное название MAPI / RPC. Иногда Microsoft также называла это «Exchange RPC» и «Outlook-Exchange Transport Protocol».
Microsoft предоставляет образец приложения на основе MAPI / RPC под названием MFCMAPI [3], чтобы помочь разработчикам. Он также широко используется в качестве средства диагностики как разработчиками, так и администраторами Microsoft Exchange.
MAPI через HTTP
Первоначальная реализация была разработана для использования в локальной сети или LAN .
В Exchange 2003 Microsoft представила RPC через HTTP (позже переименованный в Outlook Anywhere) как способ обмена через Интернет. [4]
В 2014 году в Exchange 2013 с пакетом обновления 1 (SP1) он был заменен более «обычным» стеком на основе HTTP, известным как «MAPI over HTTP». [5]
Реализации
Несколько проектов программного обеспечения с открытым исходным кодом начали работать над внедрением библиотек MAPI, в том числе:
- Проект OpenMapi (ныне прекращенный) [6] имел реализацию на C #.
- Kopano (программное обеспечение) Groupware Core имеет реализацию C ++ 2011 под названием «mapi4linux» (продолжение того же самого от Zarafa ), которая предлагает API, который обратно совместим с исходным кодом с API обмена сообщениями (код, написанный для M4L, также создается с Windows SDK). Kopano GWC поставляется с коннектором для транспорта SOAP / HTTP на основе Zarafa / Kopano.
- OpenChange имеет компонент libmapi, написанный на C, который лишь частично напоминает MAPI. (Отсутствуют такие интерфейсы, как IMsgStore, функция OpenEntry.)
- Подпроект OpenChange Evolution-MAPI - это коннектор для Exchange, реализующий транспорт MAPI / RPC.
- В рамках проекта Gnome Evolution разрабатываются программы evolution-ews , в которых реализована большая часть MAPI. [7]
Рекомендации
- ^ «MAPI через HTTP в Exchange 2016» . Microsoft TechNet . 2016-12-20.
- ^ Протоколы сервера Exchange . Msdn.microsoft.com. Проверено 17 июля 2013.
- ^ Mfcmapi - Главная . https://github.com/stephenegriffin/mfcmapi . Проверено 26 июля 2017.
- ^ «Сценарии развертывания RPC через HTTP для Exchange Server 2003» . web.archive.org . 2014-12-22 . Проверено 22 декабря 2014 .
- ^ «Возможность подключения к Outlook с помощью MAPI через HTTP» . Ты был у меня в EHLO… . Microsoft . Проверено 20 апреля 2019 .
- ^ openmapi.org используется для размещения загрузок; его больше не существует
- ^ «Матрица четности функций EWS» . Проверено 17 декабря 2018 года .
Внешние ссылки
- API обмена сообщениями в библиотеке MSDN
- Проект OpenChange - подробности протокола MAPI и инструменты для изучения протокола MAPI
- Проект OpenMapi - многоязычная реализация MAPI с открытым исходным кодом, которая может подключаться к другим источникам программного обеспечения для совместной работы, с документацией по API.
- Архивный форум пользователей Messaging API
- Включение ведения журнала Outlook Connector для поддержки