MAPI - MAPI

MAPI ( Messaging Application Programming Interface ) é uma API para Microsoft Windows que permite que os programas tornem-se compatíveis com e-mail . Embora o MAPI seja projetado para ser independente do protocolo, ele geralmente é usado para se comunicar com o Microsoft Exchange Server .

Detalhes

O MAPI usa funções vagamente baseadas no padrão X.400 XAPIA . Ele inclui instalações para acesso transportes de mensagens , arquivos de mensagens e diretórios .

Enquanto Simple MAPI (SMAPI) é um subconjunto de 12 funções que permitem aos desenvolvedores adicionar funcionalidade básica de mensagens, Extended MAPI (EMAPI) permite controle completo sobre o sistema de mensagens no computador cliente. Isso inclui a criação e o gerenciamento de mensagens, além do gerenciamento da caixa de correio do cliente e dos provedores de serviço.

MAPI simples está incluído no Microsoft Windows como parte do Outlook Express / Windows Mail, enquanto o MAPI estendido completo está incluído no Microsoft Outlook e Exchange .

Além da interface do cliente MAPI estendida, as chamadas de programação podem ser feitas indiretamente por meio da interface do cliente Simple MAPI API, por meio da interface do cliente API Common Messaging Calls (CMC) ou pela interface da biblioteca CDO baseada em objeto . Esses três métodos são mais fáceis de usar e projetados para aplicativos menos complexos habilitados para mensagens e de software. (Simple MAPI e CMC foram removidos do Exchange 2003).

O MAPI foi originalmente desenvolvido pela Microsoft . A empresa fundou sua equipe do MS Mail em 1987, mas só quando adquiriu a Consumers Software em 1991 para obter o Network Courier é que ela tinha um produto de mensagens. Retrabalhado, ele foi vendido como MS PC Mail (ou Microsoft Mail para PC Networking). A API básica do MS PC Mail foi posteriormente conhecida como MAPI versão 0 (ou MAPI0 ), para diferenciá-la do MAPI "verdadeiro".

Interface do provedor de serviço

A interface MAPI estendida completa é necessária para fazer a interface de serviços baseados em mensagens para aplicativos cliente, como o Outlook. Por exemplo, vários fornecedores de produtos de servidor de e-mail que não são da Microsoft criaram "provedores de serviços MAPI" para permitir que seus produtos sejam acessados ​​via Outlook. Exemplos notáveis ​​incluem Axigen Mail Server , Kerio Connect , Scalix , Zimbra , HP OpenMail , IBM Lotus Notes , Zarafa / Kopano e Bynari .

O MAPI também tinha uma espécie de interface de provedor de serviços. A Microsoft usou isso para fazer a interface do MS Mail com um sistema de e-mail baseado no Xenix , para uso interno.

MAPI estendido é o principal método de acesso a dados de e-mail usado pelo Outlook, para fazer interface com o Microsoft Exchange, por meio de provedores de serviços MAPI fornecidos com o Outlook.

Detalhes do protocolo MAPI / RPC

A Microsoft divulgou todos os detalhes do protocolo MAPI / RPC desde agosto de 2007.

"Protocolo MAPI" é um nome coloquial para MAPI / RPC. Às vezes, a Microsoft também o chamou de "Exchange RPC" e "Outlook-Exchange Transport Protocol".

A Microsoft fornece um aplicativo de exemplo baseado em MAPI / RPC chamado MFCMAPI para ajudar os desenvolvedores. Também é amplamente utilizado como ferramenta de diagnóstico por desenvolvedores e administradores do Microsoft Exchange.

MAPI sobre HTTP

A implementação original foi projetada para uso em uma rede local ou LAN .

Com o Exchange 2003, a Microsoft introduziu o RPC sobre HTTP (posteriormente renomeado para Outlook em Qualquer Lugar) como uma forma de Exchange pela Internet.

Em 2014, o Exchange 2013 SP1 substituiu isso por uma pilha baseada em HTTP mais 'normal' conhecida como "MAPI sobre HTTP".

Reimplementações

Vários projetos de software de código aberto começaram a trabalhar na implementação de bibliotecas MAPI, incluindo:

  • O projeto OpenMapi (agora extinto) tinha uma implementação C #.
  • Kopano (software) Groupware Core tem uma implementação C ++ 2011 chamada "mapi4linux" (continuação da mesma do Zarafa ), que oferece uma API que é compatível com o código-fonte anterior com a API de mensagens (código escrito para M4L também construído com o SDK do Windows). Kopano GWC vem com um conector para o transporte SOAP / HTTP baseado em Zarafa / Kopano.
  • OpenChange tem um componente "libmapi" escrito em C que se assemelha apenas parcialmente ao MAPI. (Falta interfaces como IMsgStore, a função OpenEntry.)
  • O subprojeto OpenChange Evolution-MAPI é um conector para Exchange que implementa o transporte MAPI / RPC.
  • O projeto Gnome Evolution desenvolve o evolution-ews , que implementou muito do MAPI.

Referências

links externos