La interfaz de programación de aplicaciones de mensajería ( MAPI ) es una API para Microsoft Windows que permite que los programas se vuelvan compatibles con el correo electrónico. Aunque MAPI está diseñado para ser independiente del protocolo, generalmente se usa para comunicarse con Microsoft Exchange Server . [1]
Detalles
MAPI utiliza funciones basadas libremente en el estándar X.400 XAPIA . Incluye facilidades para el acceso a los medios de transporte de mensajes , los almacenes de mensajes y directorios .
Mientras que Simple MAPI (SMAPI) es un subconjunto de 12 funciones que permiten a los desarrolladores agregar funcionalidad básica de mensajería, Extended MAPI (EMAPI) permite un control completo sobre el sistema de mensajería en la computadora cliente. Esto incluye la creación y administración de mensajes, además de la administración del buzón de correo del cliente y los proveedores de servicios.
MAPI simple se incluye con Microsoft Windows como parte de Outlook Express / Windows Mail, mientras que el MAPI extendido completo se incluye con Microsoft Outlook y Exchange .
Además de la interfaz de cliente MAPI extendida, las llamadas de programación se pueden realizar indirectamente a través de la interfaz de cliente API de MAPI simple, a través de la interfaz de cliente de API Common Messaging Calls (CMC) o mediante la interfaz de biblioteca CDO basada en objetos. Estos tres métodos son más fáciles de usar y están diseñados para aplicaciones menos complejas habilitadas para mensajería. (Se eliminaron MAPI y CMC simples de Exchange 2003).
MAPI fue diseñado originalmente por Microsoft . La compañía fundó su equipo de MS Mail en 1987, pero no fue hasta que adquirió Consumers Software en 1991 para obtener Network Courier que tuvo un producto de mensajería. Rediseñado, se vendió como MS PC Mail (o Microsoft Mail para redes de PC). La API básica de MS PC Mail se conoció más tarde como MAPI versión 0 (o MAPI0 ), para diferenciarla de MAPI "verdadera".
Interfaz del proveedor de servicios
Se requiere la interfaz MAPI extendida completa para interconectar servicios basados en mensajería con aplicaciones cliente como Outlook. Por ejemplo, varios proveedores de productos de servidores de correo electrónico que no pertenecen a Microsoft crearon "proveedores de servicios MAPI" para permitir el acceso a sus productos a través de Outlook. Ejemplos notables incluyen Axigen Mail Server , Kerio Connect , Scalix , Zimbra , HP OpenMail , IBM Lotus Notes , Zarafa / Kopano y Bynari .
MAPI también tenía una especie de interfaz de proveedor de servicios. Microsoft usó esto para conectar MS Mail a un sistema de correo electrónico basado en Xenix , para uso interno.
MAPI extendido es el principal método de acceso a datos de correo electrónico utilizado por Outlook, para interactuar con Microsoft Exchange, a través de los proveedores de servicios MAPI incluidos con Outlook.
Detalles del protocolo MAPI / RPC
Microsoft ha publicado todos los detalles del protocolo MAPI / RPC desde agosto de 2007. [2]
"Protocolo MAPI" es un nombre coloquial para MAPI / RPC. En ocasiones, Microsoft también lo ha llamado "Exchange RPC" y "Protocolo de transporte de Outlook-Exchange".
Microsoft proporciona una aplicación de muestra basada en MAPI / RPC llamada MFCMAPI [3] para ayudar a los desarrolladores. También es ampliamente utilizado como herramienta de diagnóstico tanto por desarrolladores como por administradores de Microsoft Exchange.
MAPI sobre HTTP
La implementación original fue diseñada para su uso en una red local o LAN .
Con Exchange 2003, Microsoft introdujo RPC sobre HTTP (que más tarde se denominó Outlook Anywhere) como una forma de Exchange a través de Internet. [4]
En 2014, Exchange 2013 SP1 reemplazó esto con una pila basada en HTTP más "normal" conocida como "MAPI sobre HTTP". [5]
Reimplementaciones
Varios proyectos de software de código abierto han comenzado a trabajar en la implementación de bibliotecas MAPI, que incluyen:
- El proyecto OpenMapi (ahora fallecido) [6] tenía una implementación de C #.
- Kopano (software) Groupware Core tiene una implementación de C ++ 2011 llamada "mapi4linux" (continuación de la misma de Zarafa ), que ofrece una API que es compatible con fuentes anteriores con la API de mensajería (código escrito para M4L también construido SDK de Windows). Kopano GWC viene con un conector para el transporte SOAP / HTTP basado en Zarafa / Kopano.
- OpenChange tiene un componente "libmapi" escrito en C que solo se parece parcialmente a MAPI. (Carece de interfaces como IMsgStore, la función OpenEntry).
- El subproyecto OpenChange Evolution-MAPI es un conector para Exchange que implementa el transporte MAPI / RPC.
- El proyecto Gnome Evolution desarrolla evolution-ews , que ha implementado gran parte de MAPI. [7]
Referencias
- ^ "MAPI sobre HTTP en Exchange 2016" . Microsoft TechNet . 2016-12-20.
- ^ Protocolos de Exchange Server . Msdn.microsoft.com. Consultado el 17 de julio de 2013.
- ^ Mfcmapi - Inicio . https://github.com/stephenegriffin/mfcmapi . Consultado el 26 de julio de 2017.
- ^ "Escenarios de implementación de Exchange Server 2003 RPC sobre HTTP" . web.archive.org . 2014-12-22 . Consultado el 22 de diciembre de 2014 .
- ^ "Conectividad de Outlook con MAPI sobre HTTP" . Me tuviste en EHLO… . Microsoft . Consultado el 20 de abril de 2019 .
- ^ openmapi.org utilizado para alojar las descargas; ya no existe
- ^ "Matriz de paridad de características de operaciones de EWS" . Consultado el 17 de diciembre de 2018 .
enlaces externos
- API de mensajería en MSDN Library
- Proyecto OpenChange: detalles del protocolo MAPI y herramientas para explorar el protocolo MAPI
- Proyecto OpenMapi: implementación de MAPI de código abierto y en varios idiomas que se puede conectar a otras fuentes de software colaborativo, con documentación de API
- Foro de usuarios archivado de la API de mensajería
- Habilitación del registro de Outlook Connector para soporte