MAPI
واجهة برمجة تطبيقات المراسلة ( MAPI ) هي واجهة برمجة تطبيقات لنظام التشغيل مايكروسوفت ويندوز، تُمكّن البرامج من التعامل مع البريد الإلكتروني . ورغم أن MAPI مصممة لتكون مستقلة عن البروتوكول، إلا أنها تُستخدم عادةً للتواصل مع خادم مايكروسوفت إكستشينج . [ 1 ]
تفاصيل
تستخدم MAPI وظائف تستند بشكل فضفاض إلى معيار X.400 XAPIA. وهي تتضمن تسهيلات للوصول إلى وسائل نقل الرسائل ومخازن الرسائل والفهارس .
بينما تُعدّ واجهة برمجة تطبيقات MAPI البسيطة (SMAPI) مجموعة فرعية من 12 وظيفة تُمكّن المطورين من إضافة وظائف المراسلة الأساسية، فإن واجهة برمجة تطبيقات MAPI الموسعة (EMAPI) تتيح تحكمًا كاملاً في نظام المراسلة على جهاز العميل. ويشمل ذلك إنشاء الرسائل وإدارتها، بالإضافة إلى إدارة صندوق بريد العميل ومزودي الخدمة.
يتم تضمين Simple MAPI مع Microsoft Windows كجزء من Outlook Express / Windows Mail بينما يتم تضمين Extended MAPI الكامل مع Microsoft Outlook و Exchange .
بالإضافة إلى واجهة عميل MAPI الموسعة، يمكن إجراء استدعاءات البرمجة بشكل غير مباشر عبر واجهة عميل MAPI البسيطة، أو عبر واجهة عميل استدعاءات المراسلة الشائعة (CMC)، أو عبر واجهة مكتبة CDO القائمة على الكائنات . هذه الطرق الثلاث أسهل استخدامًا ومصممة للتطبيقات الأقل تعقيدًا التي تدعم المراسلة وتدركها. (تمت إزالة MAPI البسيطة وCMC من Exchange 2003).
صُممت واجهة برمجة التطبيقات MAPI في الأصل من قِبل شركة مايكروسوفت . أسست الشركة فريق MS Mail عام 1987، ولكن لم يتوفر لديها منتج مراسلة إلا بعد استحواذها على شركة Consumers Software عام 1991 للحصول على برنامج Network Courier . بعد إعادة تصميمها، تم بيعها تحت اسم MS PC Mail (أو Microsoft Mail for PC Networking). عُرفت واجهة برمجة التطبيقات الأساسية لـ 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 also had a service provider interface of sorts. Microsoft used this to interface MS Mail to an email system based on Xenix, for internal use.
Extended MAPI is the main e-mail data access method used by Outlook, to interface to Microsoft Exchange, via MAPI service providers shipped with Outlook.
MAPI/RPC protocol details
Microsoft has released full details of the MAPI/RPC protocol since August 2007.[2]
"MAPI protocol" is a colloquial name for the MAPI/RPC. At times, Microsoft has also called it "Exchange RPC" and "Outlook-Exchange Transport Protocol".
Microsoft provides a sample MAPI/RPC-based application called MFCMAPI[3] to assist developers. It is also widely used as a diagnostics tool by both developers and Microsoft Exchange administrators.
MAPI over HTTP
The original implementation was designed for use on a local network, or LAN.
With Exchange 2003 and Outlook 2010, Microsoft introduced RPC over HTTP (later renamed Outlook Anywhere) as a way to Exchange over the internet.[4]
In 2014, Exchange 2013 SP1 introduced another variant, this time with a more "normal" HTTP-based stack known as "MAPI over HTTP".[5]
Incompatibility with Internet Mail
The Simple Mail Transfer Protocol has always supported the concept of mail with multiple authors, and distinguishes between the "sender" and "authors" whenever there is more than one of the latter. MAPI cannot represent separate authors and senders except through the delegation mechanism, which does not permit more than one author. Thus MAPI cannot accurately transmit group letters from scientific communities to legislators, or presentation of group research via email, or similar scenarios. When fully SMTP compliant mailers (e.g. Thunderbird) send perfectly formed SMTP messages with multiple authors into MAPI-dependent email infrastructures (such as Exchange/Outlook, O365, or Outlook.com) the messages must have their information density reduced to fit MAPI, presenting challenges for authentication and anti-spoofing technologies that rely on accurate message metadata transmission, and fundamentally changing messages to be something other than what was originally sent. Although the security implications impact all users, inability to represent multiple authorship is generally of little concern in purely hierarchical settings such as traditional businesses and military organizations, primarily impacting legislative and academic institutions.
Reimplementations
Several open-source software projects have started working on implementing MAPI libraries, including:
- يحتوي Gromommunio/Gromox على تطبيقات C++20 لخوادم MAPI/RPC و MAPI/HTTP.
- كان لمشروع OpenMapi (الذي توقف الآن) [ 6 ] تطبيق بلغة C#.
- يحتوي Kopano Groupware Core على تطبيق C++11 يُسمى "mapi4linux" (امتدادًا لتطبيق Zarafa )، والذي يوفر واجهة برمجة تطبيقات متوافقة مع الإصدارات السابقة من واجهة برمجة تطبيقات المراسلة (كود M4L مُدمج أيضًا باستخدام Windows SDK). يأتي Kopano GWC مزودًا بموصل لنقل SOAP/HTTP القائم على Zarafa/Kopano.
- يحتوي OpenChange على مكون "libmapi" مكتوب بلغة C يشبه MAPI جزئيًا فقط. (يفتقر إلى واجهات مثل IMsgStore، ووظيفة OpenEntry.)
- المشروع الفرعي Evolution-MAPI التابع لـ OpenChange هو موصل لـ Exchange يقوم بتنفيذ بروتوكول النقل MAPI/RPC.
- يقوم مشروع GNOME Evolution بتطوير evolution-ews ، الذي قام بتنفيذ جزء كبير من MAPI. [ 7 ]
مراجع
- ↑ "MAPI عبر HTTP في Exchange 2016" . Microsoft TechNet . 2016-12-20.
- ↑ بروتوكولات خادم Exchange . Msdn.microsoft.com. تم الاطلاع عليه بتاريخ 17-07-2013.
- ↑ Mfcmapi - الصفحة الرئيسية . https://github.com/stephenegriffin/mfcmapi . تم الاطلاع عليه بتاريخ 26-07-2017.
- ↑ "سيناريوهات نشر بروتوكول RPC عبر HTTP لخادم Exchange 2003" . 22-12-2014. مؤرشف من الأصل في 22-12-2014 . تم الاطلاع عليه في 22-12-2014 .
- ↑ "اتصال Outlook باستخدام MAPI عبر HTTP" . لقد جذبتني من أول وهلة... . مايكروسوفت. مؤرشف من الأصل بتاريخ 20 أبريل 2019. تم الاطلاع عليه بتاريخ 20 أبريل 2019 .
- ↑ كان موقع openmapi.org يستضيف التنزيلات؛ لم يعد موجودًا
- ↑ "مصفوفة التكافؤ لميزات عمليات نظام الإنذار المبكر" . تم الاطلاع عليه بتاريخ 17 ديسمبر 2018 .
روابط خارجية
- واجهة برمجة تطبيقات المراسلة في مكتبة MSDN
- مشروع OpenChange - تفاصيل بروتوكول MAPI وأدوات استكشاف بروتوكول MAPI
- مشروع OpenMapi - تطبيق مفتوح المصدر ومتعدد اللغات لواجهة برمجة تطبيقات MAPI، يمكنه الاتصال بمصادر برامج العمل الجماعي الأخرى، مع توثيق واجهة برمجة التطبيقات (API).
- منتدى المستخدمين المؤرشف لواجهة برمجة تطبيقات المراسلة
- تفعيل تسجيل بيانات Outlook Connector للحصول على الدعم
- بروتوكولات البريد الإلكتروني عبر الإنترنت
- واجهات برمجة تطبيقات مايكروسوفت
