JMAP β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами

Π’ Π½Π°Ρ‡Π°Π»Π΅ мСсяца Π½Π° Hacker News Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ обсуТдался ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» JMAP, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎΠ΄ руководством IETF. ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ понадобился ΠΈ ΠΊΠ°ΠΊ устроСн.

JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами
/ PxHere / PD

Π§Π΅ΠΌ Π½Π΅ ΡƒΠ³ΠΎΠ΄ΠΈΠ» IMAP

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IMAP Π±Ρ‹Π» прСдставлСн Π² 1986 Π³ΠΎΠ΄Ρƒ. МногиС Π²Π΅Ρ‰ΠΈ, описанныС Π² стандартС, Π½Π° сСгодняшний дСнь ΡƒΠΆΠ΅ Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. НапримСр, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΡƒΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ количСство строк письма ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы MD5 β€” эта Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² соврСмСнных ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’ случаС с IMAP элСктронныС письма хранятся Π½Π° сСрвСрС ΠΈ пСриодичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ копия Π½Π° устройствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ «портится», приходится Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю ΠΏΠΎΡ‡Ρ‚Ρƒ. Π’ соврСмСнном ΠΌΠΈΡ€Π΅, ΠΊΠΎΠ³Π΄Π° ΠΊ сСрвСру ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ тысячи ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΌΡƒ расходу Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов.

БлоТности Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с самим ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° создания IMAP ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ подвСргался Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ рСвизиям β€” Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсиСй Π½Π° сСгодняшний дСнь являСтся IMAP4. ΠŸΡ€ΠΈ этом для Π½Π΅Π³ΠΎ сущСствуСт мноТСство ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ β€” Π² сСти ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ дСвяносто RFC с дополнСниями. Одним ΠΈΠ· самых свСТих являСтся RFC8514, прСдставлСнный Π² 2019 Π³ΠΎΠ΄Ρƒ.

ΠŸΡ€ΠΈ этом ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ собствСнныС ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с IMAP ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ: Gmail, Outlook, Nylas. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ПодобноС ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сСгмСнтации Ρ€Ρ‹Π½ΠΊΠ°.

Β«Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, соврСмСнный ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ просто ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ сообщСния, Π½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΌ, β€” Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π‘Π΅Ρ€Π³Π΅ΠΉ Π‘Π΅Π»ΠΊΠΈΠ½, Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊ ΠΎΡ‚Π΄Π΅Π»Π° развития IaaS-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° 1cloud.ru. β€” БСгодня для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сторонниС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ LDAP, CardDAV ΠΈ CalDAV. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ услоТняСт настройку Ρ„Π°ΠΉΡ€Π²ΠΎΠ»ΠΎΠ² Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… сСтях ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ для ΠΊΠΈΠ±Π΅Ρ€Π°Ρ‚Π°ΠΊΒ».

Π Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈΠ·Π²Π°Π½ JMAP. Π•Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ спСциалисты ΠΈΠ· FastMail ΠΏΠΎΠ΄ руководством Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ совСта ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° (IETF). ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… HTTPS, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSON (ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ½ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±ΠΌΠ΅Π½Π° элСктронными сообщСниями, Π½ΠΎ ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ряда Π·Π°Π΄Π°Ρ‡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅) ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… систСмах. ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ писСм, Π² JMAP Ρ‚Π°ΠΊΠΆΠ΅ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Ρ‘ΠΌ-ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°

JMAP являСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ Π±Π΅Π· сохранСния состояния (stateless) ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянного соСдинСния с ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ сСрвСром. Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… сСтях ΠΈ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ заряд Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ устройств.

Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ΅ письмо Π² JMAP прСдставлСно Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON-структуры. Она содСрТит всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· сообщСния RFC5322 (Internet Message Format), которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ прилоТСниям. По словам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ созданиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… слоТностСй (связанных с 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 Contacts ΠΈ JMAP Calendars β€” ΠΎΠ½ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с калСндарями ΠΈ списками ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². По словам Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Contacts ΠΈ Calendars Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ «ядра». Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ для JMAP β€” Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° GitHub.

JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами
/ PxHere / PD

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ стандартом Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π΅Π³ΠΎ ΡƒΠΆΠ΅ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-срСдах. НапримСр, создатСли ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра Cyrus IMAP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ JMAP-Π²Π΅Ρ€ΡΠΈΡŽ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· FastMail выпустили сСрвСрный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° Perl, Π° Π°Π²Ρ‚ΠΎΡ€Ρ‹ JMAP прСдставили прокси-сСрвСр.

МоТно ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π±Π°Π·Π΅ JMAP Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС большС. НапримСр, Π΅ΡΡ‚ΡŒ нСкоторая Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· Open-Xchange, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ IMAP-сСрвСр для Linux-систСм. ΠžΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ IMAP ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ просят участники ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ инструмСнтов ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· IETF ΠΈ FastMail говорят, Ρ‡Ρ‚ΠΎ всС большС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ видят Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ стандартС для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями. Авторы JMAP Π½Π°Π΄Π΅ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ большС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π½Π°Ρ‡Π½Π΅Ρ‚ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Ρƒ сСбя этот ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Наши Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы ΠΈ источники:

JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ cookies Π½Π° соотвСтствиС GDPR β€” ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ инструмСнт

JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами Как ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса
JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами DevOps Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ сСрвисС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1cloud.ru
JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠ±Π»Π°ΠΊΠ° 1cloud

JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ Π½Π° HTTPS ΠΈ способы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π½ΠΈΡ…
JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами Как Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ сСрвСр Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅: ΠΎΠΏΡ‹Ρ‚ 1cloud.ru
JMAP — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ IMAP ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ элСктронными письмами ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π»ΠΈΠΊΠ±Π΅Π·: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Continuous Integration

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ