Articulo de referencia

MAPI

La Interfaz de Programación de Aplicaciones de Mensajería ( MAPI ) es una API para Microsoft Windows que permite que los programas sean compatibles con el correo electrónico . S...

La Interfaz de Programación de Aplicaciones de Mensajería ( MAPI ) es una API para Microsoft Windows que permite que los programas sean compatibles con el correo electrónico . Si bien MAPI está diseñada para ser independiente del protocolo, generalmente se utiliza para comunicarse con Microsoft Exchange Server . [ 1 ]

Detalles

MAPI utiliza funciones basadas libremente en el estándar XAPIA X.400 . Incluye herramientas para acceder a transportes de mensajes , almacenes de mensajes y directorios .

Mientras que Simple MAPI (SMAPI) es un subconjunto de 12 funciones que permiten a los desarrolladores agregar funcionalidades básicas de mensajería, Extended MAPI (EMAPI) permite un control total sobre el sistema de mensajería en el equipo cliente. Esto incluye la creación y gestión de mensajes, así como la gestión del buzón del cliente y los proveedores de servicios.

Simple MAPI viene incluido con Microsoft Windows como parte de Outlook Express / Windows Mail , mientras que Extended MAPI completo viene incluido con Microsoft Outlook y Exchange .

Además de la interfaz de cliente MAPI extendida, las llamadas de programación pueden realizarse indirectamente a través de la interfaz de cliente API MAPI simple, la interfaz de cliente API de llamadas de mensajería comunes (CMC) o la interfaz de la biblioteca CDO basada en objetos . Estos tres métodos son más fáciles de usar y están diseñados para aplicaciones de mensajería menos complejas. (MAPI simple y CMC se eliminaron 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 contó con un producto de mensajería. Tras ser rediseñado, se comercializó como MS PC Mail (o Microsoft Mail para redes de PC). La API básica de MS PC Mail se conoció posteriormente como MAPI versión 0 (o MAPI0 ), para diferenciarla de la versión "auténtica" de MAPI.

Interfaz del proveedor de servicios

Se requiere la interfaz MAPI extendida completa para conectar servicios de mensajería con aplicaciones cliente como Outlook. Por ejemplo, varios proveedores de servidores de correo electrónico que no son de Microsoft crearon "proveedores de servicios MAPI" para permitir el acceso a sus productos a través de Outlook. Algunos ejemplos destacados son Axigen Mail Server , Kerio Connect , Scalix , Zimbra , HP OpenMail , IBM Lotus Notes , Zarafa / Kopano y Bynari .

MAPI también contaba con una interfaz de proveedor de servicios. Microsoft la utilizó para conectar MS Mail con un sistema de correo electrónico basado en Xenix , para uso interno.

Extended MAPI es el principal método de acceso a datos de correo electrónico que utiliza Outlook para interactuar con Microsoft Exchange, a través de los proveedores de servicios MAPI incluidos en Outlook.

Detalles del protocolo MAPI/RPC

Microsoft ha publicado todos los detalles del protocolo MAPI/RPC desde agosto de 2007. [ 2 ]

El "protocolo MAPI" es un nombre coloquial para MAPI/RPC. En ocasiones, Microsoft también lo ha llamado "Exchange RPC" y "Protocolo de transporte Outlook-Exchange".

Microsoft proporciona una aplicación de ejemplo basada en MAPI/RPC llamada MFCMAPI [ 3 ] para ayudar a los desarrolladores. También es ampliamente utilizada 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 y Outlook 2010, Microsoft introdujo RPC sobre HTTP (más tarde renombrado Outlook Anywhere) como una forma de realizar Exchange a través de Internet. [ 4 ]

En 2014, Exchange 2013 SP1 introdujo otra variante, esta vez con una pila basada en HTTP más "normal" conocida como "MAPI sobre HTTP". [ 5 ]

Incompatibilidad con el correo electrónico de Internet

El Protocolo Simple de Transferencia de Correo (SMTP) siempre ha admitido el concepto de correo con múltiples autores y distingue entre el "remitente" y los "autores" cuando hay más de uno. MAPI no puede representar autores y remitentes separados, excepto mediante el mecanismo de delegación, que no permite más de un autor. Por lo tanto, MAPI no puede transmitir con precisión cartas grupales de comunidades científicas a legisladores, ni presentar investigaciones grupales por correo electrónico, ni escenarios similares. Cuando los clientes de correo totalmente compatibles con SMTP (por ejemplo, Thunderbird ) envían mensajes SMTP perfectamente formados con múltiples autores a infraestructuras de correo electrónico dependientes de MAPI (como Exchange/Outlook, O365 u Outlook.com), la densidad de información de los mensajes debe reducirse para ajustarse a MAPI, lo que plantea desafíos para las tecnologías de autenticación y anti-suplantación que dependen de la transmisión precisa de metadatos de los mensajes, y modifica fundamentalmente los mensajes para que sean algo distinto de lo que se envió originalmente. Si bien las implicaciones de seguridad afectan a todos los usuarios, la incapacidad de representar la autoría múltiple generalmente no es una preocupación importante en entornos puramente jerárquicos, como las empresas tradicionales y las organizaciones militares, afectando principalmente a las instituciones legislativas y académicas.

Reimplementaciones

Varios proyectos de software de código abierto han comenzado a trabajar en la implementación de bibliotecas MAPI, entre ellos:

  • Grommunio/Gromox dispone de implementaciones en C++20 de servidores MAPI/RPC y MAPI/HTTP.
  • El proyecto OpenMapi (ahora desaparecido) [ 6 ] tenía una implementación en C#.
  • Kopano Groupware Core cuenta con una implementación en C++11 llamada "mapi4linux" (continuación de la misma de Zarafa ), que ofrece una API compatible con versiones anteriores de la API de mensajería (el código escrito para M4L también se compila con el SDK de Windows). Kopano GWC incluye un conector para el transporte SOAP/HTTP basado en Zarafa/Kopano.
  • OpenChange tiene un componente "libmapi" escrito en C que solo se asemeja parcialmente a MAPI. (Carece de interfaces como IMsgStore y la función OpenEntry).
  • El subproyecto Evolution-MAPI de OpenChange 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

  1. "MAPI sobre HTTP en Exchange 2016" . Microsoft TechNet . 2016-12-20.
  2. Protocolos de Exchange Server . Msdn.microsoft.com. Consultado el 17 de julio de 2013.
  3. Mfcmapi - Inicio . https://github.com/stephenegriffin/mfcmapi . Consultado el 26 de julio de 2017.
  4. "Escenarios de implementación de RPC sobre HTTP para Exchange Server 2003" . 22/12/2014. Archivado del original el 22/12/2014 . Consultado el 22/12/2014 .
  5. "Conectividad de Outlook con MAPI sobre HTTP" . Me convenciste con EHLO… Microsoft. Archivado del original el 20 de abril de 2019. Consultado el 20 de abril de 2019 .
  6. openmapi.org solía alojar las descargas; ya no existe.
  7. "Matriz de paridad de las características de las operaciones de EWS" . Consultado el 17 de diciembre de 2018 .
  • API de mensajería en la biblioteca MSDN
  • Proyecto OpenChange: detalles del protocolo MAPI y herramientas para explorar el protocolo MAPI.
  • Proyecto OpenMapi: implementación MAPI de código abierto y multilingüe que puede conectarse a otras fuentes de software colaborativo, con documentación de la API.
  • Foro de usuarios archivado de la API de mensajería
  • Habilitar el registro de Outlook Connector para obtener asistencia técnica.
Obtenido de " https://en.wikipedia.org/w/index.php?title=MAPI&oldid=1355086976 "