JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني

في وقت سابق من هذا الشهر على هاكر نيوز تمت مناقشته بنشاط بروتوكول JMAP تم تطويره تحت إشراف IETF. قررنا التحدث عن سبب الحاجة إليه وكيف يعمل.

JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني
/ PxHere /PD

ما لم يعجبني في IMAP

بروتوكول IMAP تم تقديمه في عام 1986. العديد من الأشياء الموضحة في المعيار لم تعد ذات صلة اليوم. على سبيل المثال، يمكن للبروتوكول إرجاع عدد أسطر الحرف والمجاميع الاختبارية MD5 - لا يتم استخدام هذه الوظيفة عمليا في عملاء البريد الإلكتروني الحديثين.

هناك مشكلة أخرى تتعلق باستهلاك حركة المرور. باستخدام IMAP، يتم تخزين رسائل البريد الإلكتروني على الخادم ومزامنتها بشكل دوري مع العملاء المحليين. في حالة تلف النسخة الموجودة على جهاز المستخدم لسبب ما، يجب مزامنة كل البريد مرة أخرى. في العالم الحديث، عندما يمكن توصيل آلاف الأجهزة المحمولة بالخادم، يؤدي هذا النهج إلى زيادة استهلاك حركة المرور وموارد الحوسبة.

لا تنشأ الصعوبات فقط مع البروتوكول نفسه، ولكن أيضًا مع عملاء البريد الإلكتروني الذين يعملون معه. منذ إنشائه، خضع IMAP لمراجعات مختلفة عدة مرات - الإصدار الحالي اليوم هو IMAP4. وفي الوقت نفسه، هناك العديد من الملحقات الاختيارية له - على الشبكة نشرت تسعون RFCs مع الإضافات. واحدة من الأحدث هي RFC8514، تم تقديمه في عام 2019.

في الوقت نفسه، تقدم العديد من الشركات حلولها الخاصة التي من شأنها تبسيط العمل مع IMAP أو حتى استبداله: جوجل, بريد اوتلوك, نيلاس. والنتيجة هي أن عملاء البريد الإلكتروني الحاليين يدعمون فقط بعض الميزات المتاحة. يؤدي هذا التنوع إلى تجزئة السوق.

يقول سيرجي بلكين، رئيس قسم التطوير في مزود IaaS: "علاوة على ذلك، لا ينبغي لبرنامج البريد الإلكتروني الحديث أن يعيد توجيه الرسائل فحسب، بل يجب أن يكون قادرًا على العمل مع جهات الاتصال والمزامنة مع التقويم". 1cloud.ru. — اليوم، بروتوكولات الطرف الثالث مثل LDAP, استخدام CardDAV и و CalDAV. يؤدي هذا النهج إلى تعقيد تكوين جدران الحماية في شبكات الشركات ويفتح نواقل جديدة للهجمات السيبرانية.

تم تصميم JMAP لحل هذه المشاكل. يتم تطويره بواسطة خبراء FastMail تحت إشراف فريق عمل هندسة الإنترنت (IETF). يعمل البروتوكول فوق HTTPS، ويستخدم JSON (ولهذا السبب فهو مناسب ليس فقط لتبادل الرسائل الإلكترونية، ولكن أيضًا لحل عدد من المهام في السحابة) ويبسط تنظيم العمل مع البريد في أنظمة الهاتف المحمول. بالإضافة إلى معالجة الرسائل، يوفر JMAP أيضًا القدرة على توصيل الملحقات للعمل مع جهات الاتصال وجدولة التقويم.

مميزات البروتوكول الجديد

JMAP هو بروتوكول عديمي الجنسية (بدون حالة) ولا يتطلب اتصالاً دائمًا بخادم البريد. تعمل هذه الميزة على تبسيط العمل في شبكات الهاتف المحمول غير المستقرة وتوفير طاقة البطارية على الأجهزة.

يتم تمثيل البريد الإلكتروني في JMAP بتنسيق هيكل JSON. أنه يحتوي على كافة المعلومات من الرسالة RFC5322 (تنسيق رسائل الإنترنت)، والتي قد تحتاجها تطبيقات البريد الإلكتروني. وفقًا للمطورين، يجب أن يبسط هذا النهج عملية إنشاء العملاء، نظرًا لأن حل الصعوبات المحتملة (المرتبطة بـ MIMEوقراءة الرؤوس والتشفير) سوف يستجيب الخادم.

يستخدم العميل واجهة برمجة التطبيقات (API) للاتصال بالخادم. للقيام بذلك، يقوم بإنشاء طلب POST مصادق عليه، ويتم وصف خصائصه في كائن جلسة JMAP. الطلب بتنسيق application/json ويتكون من كائن طلب JSON واحد. يقوم الخادم أيضًا بإنشاء كائن استجابة واحد.

В مواصفة (النقطة 3) يقدم المؤلفون المثال التالي مع طلب:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

فيما يلي مثال للاستجابة التي سينشئها الخادم:

{
  "methodResponses": [
    [ "method1", {
      "arg1": 3,
      "arg2": "foo"
    }, "c1" ],
    [ "method2", {
      "isBlah": true
    }, "c2" ],
    [ "anotherResponseFromMethod2", {
      "data": 10,
      "yetmoredata": "Hello"
    }, "c2"],
    [ "error", {
      "type":"unknownMethod"
    }, "c3" ]
  ],
  "sessionState": "75128aab4b1b"
}

يمكن العثور على مواصفات JMAP الكاملة مع أمثلة التنفيذ على الموقع الموقع الرسمي مشروع. هناك نشر المؤلفون أيضًا وصفًا للمواصفات جهات اتصال JMAP и تقويمات JMAP - تهدف إلى العمل مع التقويمات وقوائم جهات الاتصال. بواسطة وفقا ل تم فصل المؤلفين وجهات الاتصال والتقاويم إلى مستندات منفصلة بحيث يمكن تطويرها بشكل أكبر وتوحيدها بشكل مستقل عن "الأساس". أكواد المصدر لـ JMAP - in مستودعات على جيثب.

JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني
/ PxHere /PD

آفاق

على الرغم من أن العمل على المعيار لم يكتمل رسميًا بعد، إلا أنه يتم تنفيذه بالفعل في بيئات الإنتاج. على سبيل المثال، منشئو خادم البريد المفتوح سايروس IMAP نفذت نسخة JMAP الخاصة بها. المطورين من FastMail صدر إطار عمل الخادم للبروتوكول الجديد في بيرل، وقدم مؤلفو JMAP مخدم بروكسي.

يمكننا أن نتوقع أنه سيكون هناك المزيد والمزيد من المشاريع القائمة على JMAP في المستقبل. على سبيل المثال، هناك احتمال أن يتحول مطورو Open-Xchange، الذين يقومون بإنشاء خادم IMAP لأنظمة Linux، إلى البروتوكول الجديد. رفض IMAP لهم كثيرا يسأل أفراد المجتمع، تشكلت حول أدوات الشركة.

يقول المطورون من IETF وFastMail أن المزيد والمزيد من المستخدمين يرون الحاجة إلى معيار مفتوح جديد للمراسلة. يأمل مؤلفو JMAP أن تبدأ المزيد من الشركات في المستقبل في تنفيذ هذا البروتوكول.

مواردنا ومصادرنا الإضافية:

JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني كيفية التحقق من توافق ملفات تعريف الارتباط مع القانون العام لحماية البيانات (GDPR) - ستساعدك أداة مفتوحة جديدة

JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني كيفية الحفظ باستخدام واجهة برمجة التطبيقات
JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني DevOps في الخدمة السحابية باستخدام مثال 1cloud.ru
JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني تطور العمارة السحابية 1cloud

JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني الهجمات المحتملة على HTTPS وكيفية الحماية منها
JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني كيفية حماية الخادم على الإنترنت: تجربة 1cloud.ru
JMAP - بروتوكول مفتوح سيحل محل IMAP عند تبادل رسائل البريد الإلكتروني برنامج تعليمي قصير: ما هو التكامل المستمر

المصدر: www.habr.com

إضافة تعليق