Интерфейс программирования приложений обмена сообщениями ( MAPI ) — это API для Microsoft Windows , который позволяет программам работать с электронной почтой . Хотя MAPI разработан так, чтобы быть независимым от протокола, он обычно используется для связи с Microsoft Exchange Server . [1]
MAPI использует функции, основанные на стандарте X.400 XAPIA. Он включает средства для доступа к транспорту сообщений , хранилищам сообщений и каталогам .
В то время как Simple MAPI (SMAPI) представляет собой подмножество из 12 функций, которые позволяют разработчикам добавлять базовую функциональность обмена сообщениями, Extended MAPI (EMAPI) позволяет полностью контролировать систему обмена сообщениями на клиентском компьютере. Это включает создание и управление сообщениями, а также управление почтовым ящиком клиента и поставщиками услуг.
Simple MAPI входит в состав Microsoft Windows как часть Outlook Express / Windows Mail , а полная версия Extended MAPI входит в состав Microsoft Outlook и Exchange .
В дополнение к расширенному клиентскому интерфейсу MAPI, программные вызовы могут быть сделаны косвенно через клиентский интерфейс Simple MAPI API, через клиентский интерфейс Common Messaging Calls (CMC) API или через интерфейс объектно-ориентированной библиотеки CDO . Эти три метода проще в использовании и разработаны для менее сложных приложений, поддерживающих и поддерживающих обмен сообщениями. (Simple MAPI и CMC были удалены из Exchange 2003.)
MAPI изначально был разработан Microsoft . Компания основала свою команду MS Mail в 1987 году, но только после приобретения Consumers Software в 1991 году для получения 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.
Microsoft опубликовала полную информацию о протоколе MAPI/RPC с августа 2007 года. [2]
«Протокол MAPI» — разговорное название MAPI/RPC. Иногда Microsoft также называла его «Exchange RPC» и «Outlook-Exchange Transport Protocol».
Microsoft предоставляет пример приложения на основе MAPI/RPC под названием MFCMAPI [3] для помощи разработчикам. Он также широко используется как диагностический инструмент как разработчиками, так и администраторами Microsoft Exchange.
Первоначальная реализация была разработана для использования в локальной сети ( LAN) .
С выходом Exchange 2003 и Outlook 2010 компания Microsoft представила RPC через HTTP (позже переименованный в Outlook Anywhere) как способ обмена данными через Интернет. [4]
В 2014 году Exchange 2013 SP1 представил еще один вариант, на этот раз с более «нормальным» стеком на основе HTTP, известным как «MAPI over HTTP». [5]
Simple Mail Transfer Protocol всегда поддерживал концепцию почты с несколькими авторами и различает «отправителя» и «авторов», когда последних больше одного. MAPI не может представлять отдельных авторов и отправителей, кроме как через механизм делегирования, который не допускает более одного автора. Таким образом, MAPI не может точно передавать групповые письма от научных сообществ законодателям или презентацию групповых исследований по электронной почте или аналогичные сценарии. Когда полностью совместимые с SMTP почтовые программы (например, Thunderbird ) отправляют идеально сформированные SMTP-сообщения с несколькими авторами в почтовые инфраструктуры, зависящие от MAPI (такие как Exchange/Outlook, O365 или Outlook.com), сообщения должны иметь уменьшенную плотность информации, чтобы соответствовать MAPI, что создает проблемы для технологий аутентификации и защиты от спуфинга, которые полагаются на точную передачу метаданных сообщений, и принципиально изменяет сообщения так, чтобы они были чем-то иным, чем были изначально отправлены. Хотя последствия для безопасности затрагивают всех пользователей, невозможность представления множественного авторства, как правило, не вызывает особого беспокойства в чисто иерархических условиях, таких как традиционные предприятия и военные организации, и в первую очередь затрагивает законодательные и академические учреждения.
Несколько проектов программного обеспечения с открытым исходным кодом начали работу над реализацией библиотек MAPI, в том числе: