МАПИ
Интерфейс программирования приложений для обмена сообщениями ( MAPI ) — это API для Microsoft Windows , который позволяет программам получать информацию об электронной почте . Хотя MAPI разработан так, чтобы быть независимым от протокола, он обычно используется для связи с Microsoft Exchange Server . [1]
Подробности
[ редактировать ]MAPI использует функции, основанные на стандарте X.400 XAPIA. Он включает средства доступа к транспорту сообщений , хранилищам сообщений и каталогам .
В то время как Simple MAPI (SMAPI) представляет собой подмножество из 12 функций, которые позволяют разработчикам добавлять базовые функции обмена сообщениями, расширенный MAPI (EMAPI) позволяет полностью контролировать систему обмена сообщениями на клиентском компьютере. Сюда входит создание сообщений и управление ими, а также управление почтовым ящиком клиента и поставщиками услуг.
Простой MAPI включен в Microsoft Windows как часть Outlook Express / Windows Mail , а полный расширенный MAPI включен в Microsoft Outlook и Exchange .
В дополнение к клиентскому интерфейсу расширенного MAPI вызовы программирования можно выполнять косвенно через клиентский интерфейс Simple MAPI API, через клиентский интерфейс API общих вызовов сообщений (CMC) или через объектно-ориентированный CDO интерфейс библиотеки . Эти три метода проще в использовании и предназначены для менее сложных приложений, поддерживающих обмен сообщениями. (Простые MAPI и CMC были удалены из Exchange 2003.)
MAPI изначально был разработан Microsoft . Компания основала команду MS Mail в 1987 году, но только в 1991 году, когда она приобрела Consumers Software и приобрела Network Courier , у нее появился продукт для обмена сообщениями. Переработанный, он продавался как MS PC Mail (или Microsoft Mail для сетей ПК). Базовый API для MS PC Mail позже был известен как MAPI версии 0 (или MAPI0 ), чтобы отличать его от «настоящего» MAPI.
Интерфейс поставщика услуг
[ редактировать ]Полный расширенный интерфейс 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».
Microsoft предоставляет образец приложения на основе MAPI/RPC под названием MFCMAPI. [3] для помощи разработчикам. Он также широко используется в качестве инструмента диагностики как разработчиками, так и администраторами Microsoft Exchange.
MAPI через HTTP
[ редактировать ]Исходная реализация была разработана для использования в локальной сети или LAN .
В Exchange 2003 Microsoft представила RPC over HTTP (позже переименованный в Outlook Anywhere) как способ обмена данными через Интернет. [4]
В 2014 году в Exchange 2013 SP1 он был заменен более «обычным» стеком на основе HTTP, известным как «MAPI через HTTP». [5]
Несовместимость с почтой Интернета
[ редактировать ]Простой протокол передачи почты всегда поддерживал концепцию почты с несколькими авторами и различает «отправителя» и «авторов», когда последних несколько. MAPI не может представлять отдельных авторов и отправителей, кроме как через механизм делегирования, который не допускает наличие более одного автора. Таким образом, MAPI не может точно передавать групповые письма от научных сообществ законодателям или презентации групповых исследований по электронной почте или аналогичные сценарии. Когда почтовые программы, полностью совместимые с SMTP (например, Thunderbird ), отправляют идеально сформированные сообщения SMTP с несколькими авторами в зависящие от MAPI инфраструктуры электронной почты (такие как Exchange/Outlook, O365 или Outlook.com), информационная плотность сообщений должна быть уменьшена, чтобы соответствовать MAPI, представляя проблемы с технологиями аутентификации и защиты от спуфинга, которые полагаются на точную передачу метаданных сообщений и фундаментально изменяют сообщения, чтобы они отличались от того, что было отправлено изначально. Хотя последствия для безопасности затрагивают всех пользователей, невозможность указать множественное авторство обычно не вызывает особого беспокойства в чисто иерархических средах, таких как традиционные предприятия и военные организации, и в первую очередь влияет на законодательные и академические учреждения.
Повторные реализации
[ редактировать ]Несколько проектов программного обеспечения с открытым исходным кодом начали работать над реализацией библиотек 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 разрабатывает development-ews , в котором реализована большая часть MAPI. [7]
Ссылки
[ редактировать ]- ^ «MAPI через HTTP в Exchange 2016» . Microsoft TechNet . 20 декабря 2016 г.
- ^ Протоколы сервера Exchange . Msdn.microsoft.com. Проверено 17 июля 2013 г.
- ^ Mfcmapi — Главная страница . https://github.com/stephenegriffin/mfcmapi . Проверено 26 июля 2017 г.
- ^ «Сценарии развертывания Exchange Server 2003 RPC через HTTP» . 22 декабря 2014 г. Архивировано из оригинала 22 декабря 2014 г. Проверено 22 декабря 2014 г.
- ^ «Подключение Outlook с помощью MAPI через HTTP» . Я был у тебя в EHLO… . Майкрософт. Архивировано из оригинала 20 апреля 2019 г. Проверено 20 апреля 2019 г.
- ^ openmapi.org использовался для размещения загрузок; его больше не существует
- ^ «Матрица четности функций операций EWS» . Проверено 17 декабря 2018 г.
Внешние ссылки
[ редактировать ]- API обмена сообщениями в библиотеке MSDN
- Проект OpenChange — подробности протокола MAPI и инструменты для изучения протокола MAPI.
- Проект OpenMapi — многоязычная реализация MAPI с открытым исходным кодом, которая может подключаться к другим источникам программного обеспечения для групповой работы, с документацией по API.
- Архив форума пользователей Messaging API
- Включение ведения журнала Outlook Connector для поддержки