마피

MAPI

MAPI(Messaging Application Programming Interface)는 프로그램이 전자 메일을 인식하도록 하는 Microsoft Windows용 API이다. MAPI는 프로토콜에 독립적으로 설계되어 있지만, 일반적으로 마이크로소프트 Exchange 서버와의 통신에 사용된다.[1]

세부 사항

MAPI는 X.400 XAPIA 표준에 근거한 기능을 느슨하게 사용한다. 그것은 메시지 전송, 메시지 저장소디렉토리에 접근하기 위한 시설을 포함한다.

Simple MAPI(Simple MAPI)는 개발자가 기본 메시징 기능을 추가할 수 있는 12가지 기능의 하위 집합인 반면, 확장 MAPI(EMAPI)는 클라이언트 컴퓨터의 메시징 시스템에 대한 완전한 제어를 허용한다. 여기에는 메시지 작성 및 관리, 클라이언트 사서함 및 서비스 제공업체의 관리가 포함된다.

Simple MAPI는 Outlook Express/Windows Mail의 일부로 Microsoft Windows에 포함되어 있으며 전체 확장 MAPI는 Microsoft OutlookExchange에 포함되어 있다.

확장 MAPI 클라이언트 인터페이스 외에 Simple MAPI API 클라이언트 인터페이스, CMC(Common Messaging Calls) API 클라이언트 인터페이스 또는 객체 기반 CDO Library 인터페이스를 통해 간접적으로 프로그래밍 호출을 할 수 있다. 이러한 세 가지 방법은 사용하기 쉽고 덜 복잡한 메시징 및 인식 애플리케이션을 위해 설계된다. (단순 MAPI 및 CMC는 Exchange 2003에서 제거됨)

MAPI는 원래 마이크로소프트에 의해 설계되었다. 이 회사는 1987년 MS메일팀을 창단했지만 1991년 소비자소프트웨어를 인수해 네트워크커리어(Network Courier)를 인수하고 나서야 메시징 제품을 보유하게 됐다. 다시 작업하여 MS PC Mail(또는 Microsoft Mail for PC Networking)으로 판매되었다. 기본 API to MS PC Mail은 나중에 MAPI 버전 0(또는 MAPI0)으로 알려져 "진정한" MAPI와 차별화되었다.

서비스 공급자 인터페이스

전체 확장 MAPI 인터페이스는 Outlook과 같은 클라이언트 애플리케이션에 메시징 기반 서비스를 연결하기 위해 필요하다. 예를 들어 Microsoft가 아닌 여러 전자 메일 서버 제품 공급업체는 아웃룩을 통해 자사 제품에 액세스할 수 있도록 "MAPI 서비스 공급자"를 만들었다. 주목할 만한 예로는 Axigen Mail Server, Kerio Connect, Scalix, Zimbra, HP OpenMail, IBM Lotus Notes, Zarafa/Kopano, Bynari 등이 있다.

MAPI는 또한 서비스 제공자 인터페이스의 종류도 가지고 있었다. 마이크로소프트는 이것을 내부용으로 Xenix 기반의 이메일 시스템에 MS Mail을 연결하기 위해 사용했다.

Extended MAPI는 Outlook과 함께 제공되는 MAPI 서비스 공급자를 통해 Microsoft Exchange에 연결하는 데 사용되는 주요 이메일 데이터 액세스 방법이다.

MAPI/RPC 프로토콜 세부 정보

마이크로소프트는 2007년 8월부터 MAPI/RPC 프로토콜에 대한 상세한 내용을 발표했다.[2]

"MAPI 프로토콜"은 MAPI/RPC의 구어적 명칭이다. 때때로 마이크로소프트는 그것을 "Exchange RPC"와 "Outlook-Exchange Transport Protocol"이라고도 불렀다.

마이크로소프트는 개발자들을 돕기 위해[3] MFCMAPI라는 샘플 MAPI/RPC 기반 응용 프로그램을 제공한다. 또한 개발자와 마이크로소프트 Exchange 관리자 모두에게 진단 도구로 널리 사용되고 있다.

HTTP를 통한 MAPI

원래 구현은 로컬 네트워크, 즉 LAN에서 사용하도록 설계되었다.

Exchange 2003과 함께 마이크로소프트는 인터넷을 통해 Exchange하는 방법으로 HTTP를 통한 RPC(Outlook Anywhere로 더 늦게 이름 변경)를 도입했다.[4]

2014년 Exchange 2013 SP1을 사용하여 이를 "MAPI over HTTP"[5]로 알려진 보다 '정상적인' HTTP 기반 스택으로 대체했다.

재구상

여러 오픈 소스 소프트웨어 프로젝트는 다음을 포함하여 MAPI 라이브러리 구현 작업을 시작했다.

  • OpenMapi 프로젝트(현재 해체됨)[6]는 C# 구현을 가지고 있었다.
  • 코파노(소프트웨어) 그룹웨어 코어는 C++2011 구현 'mapi4linux'(Zarafa에서 동일한 것을 계속)를 가지고 있어, M4L용으로 작성된 코드는 Windows SDK와 소스가 역호환되는 API를 제공한다(M4L용으로 작성된 코드는 Windows SDK로도 구축). 코파노 GWC에는 자라파/코파노 기반 SOAP/HTTP 운송용 커넥터가 함께 제공된다.
  • OpenChange는 C에서 MAPI와 부분적으로만 닮은 "libmapi" 구성요소를 가지고 있다. (IMSgStore와 같은 랙 인터페이스, OpenEntry 기능)
  • OpenChange 하위 프로젝트 Evolution-MAPI는 MAPI/RPC 전송을 구현하는 Exchange용 커넥터다.
  • Gnome Evolution 프로젝트는 많은 MAPI를 구현한 진화-ews를 개발한다.[7]

참조

  1. ^ "MAPI over HTTP in Exchange 2016". Microsoft TechNet. 2016-12-20.
  2. ^ Exchange 서버 프로토콜. Msdn.microsoft.com. 2013-07-17일에 검색됨.
  3. ^ Mfcmapi - 홈. https://github.com/stephenegriffin/mfcmapi. 2017-07-26년에 회수됨.
  4. ^ "Exchange Server 2003 RPC over HTTP Deployment Scenarios". 2014-12-22. Archived from the original on 2014-12-22. Retrieved 2014-12-22.
  5. ^ "Outlook Connectivity with MAPI over HTTP". You Had Me At EHLO…. Microsoft. Archived from the original on 2019-04-20. Retrieved 20 April 2019.
  6. ^ 다운로드를 호스팅하는 데 사용되는 openmapi.org, 더 이상 존재하지 않음
  7. ^ "EWS Operations Features' Parity Matrix". Retrieved 17 December 2018.

외부 링크