JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila

Pejana khoeling ena ho Hacker News ho ile ha buisanoa ka mafolofolo JMAP protocol e ntlafalitsoeng tlas'a tataiso ea IETF. Re ile ra etsa qeto ea ho bua ka hore na ke hobane’ng ha e ne e hlokahala le hore na e sebetsa joang.

JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila
/ PxMona /PD

Seo ke neng ke sa se rate ka IMAP

Protocol IMAP e ile ea hlahisoa ka 1986. Lintho tse ngata tse hlalositsoeng ka tekanyetso ha li sa sebetsa kajeno. Ka mohlala, protocol e ka khutlisa palo ea mela ea lengolo le li-checksums MD5 - ts'ebetso ena ha e sebelisoe ho bareki ba morao-rao ba lengolo-tsoibila.

Bothata bo bong bo amana le tšebeliso ea sephethephethe. Ka IMAP, li-imeile li bolokoa ho seva 'me nako le nako li hokahanngoa le bareki ba lehae. Haeba ka lebaka le itseng kopi ea sesebelisoa sa mosebelisi e senyeha, mangolo ohle a tlameha ho amahanngoa hape. Lefatšeng la kajeno, ha likete tsa lisebelisoa tsa mohala li ka kopanngoa le seva, mokhoa ona o lebisa ho eketseha ha tšebeliso ea sephethephethe le lisebelisoa tsa k'homphieutha.

Mathata a hlaha eseng feela ka protocol ka boeona, empa hape le bareki ba imeile ba sebetsang le eona. Ho tloha ha e theoa, IMAP e bile tlas'a lintlafatso tse fapaneng makhetlo a mangata - mofuta oa hajoale ke IMAP4. Ka nako e ts'oanang, ho na le lisebelisoa tse ngata tsa boikhethelo bakeng sa eona - marang-rang phatlalalitsoe li-RFC tse mashome a robong tse nang le litlatsetso. E 'ngoe ea tsa morao-rao ke RFC8514, e hlahisitsoeng ka 2019.

Ka nako e ts'oanang, lik'hamphani tse ngata li fana ka litharollo tsa tsona tse lokelang ho nolofatsa ho sebetsa le IMAP kapa ho e nkela sebaka: Gmail, Outlook, nylas. Sephetho ke hore bareki ba teng ba lengolo-tsoibila ba tšehetsa feela tse ling tsa likarolo tse teng. Phapang e joalo e lebisa karohanong ea 'maraka.

"Ho feta moo, moreki oa morao-rao oa lengolo-tsoibila ha aa lokela ho fetisa melaetsa feela, empa o khona ho sebetsa le mabitso le ho hokahanya khalendara," ho bolela Sergei Belkin, hlooho ea nts'etsopele ho mofani oa IaaS. 1cloud.ru. - Kajeno, liprothokholo tsa mokha oa boraro li rata LDAP, CardDAV и CalDAV. Mokhoa ona o thatafatsa tlhophiso ea li-firewall marang-rang a likhoebo mme e bula li-vector tse ncha bakeng sa litlhaselo tsa cyber.

JMAP e etselitsoe ho rarolla mathata ana. E ntse e ntlafatsoa ke litsebi tsa FastMail tlas'a tataiso ea Internet Engineering Task Force (IETF). Protocol e sebetsa ka holim'a HTTPS, e sebelisa JSON (ka lebaka lena ha e loketse feela ho fapanyetsana melaetsa ea elektronike, empa hape le ho rarolla mesebetsi e mengata lerung) le ho nolofatsa mokhatlo o hlophisitsoeng oa ho sebetsa ka poso lits'ebetsong tsa mehala. Ntle le ho sebetsana le litlhaku, JMAP e boetse e fana ka bokhoni ba ho hokahanya li-extensions bakeng sa ho sebetsa le mabitso le kemiso ea khalendara.

Likarolo tsa protocol e ncha

JMAP ke protocol e se nang naha (e se nang naha) 'me ha e hloke khokahanyo e sa feleng ho seva sa poso. Karolo ena e nolofatsa mosebetsi ho marang-rang a sa tsitsang a mehala le ho boloka matla a betri ho lisebelisoa.

Lengolo-tsoibila le hlahang ho JMAP le emetsoe ka sebopeho sa sebopeho sa JSON. E na le boitsebiso bohle bo tsoang molaetseng RFC5322 (Molaetsa oa Marang-rang), o ka hlokoang ke lits'ebetso tsa lengolo-tsoibila. Ho ea ka bahlahisi, mokhoa ona o lokela ho nolofatsa pōpo ea bareki, kaha ho rarolla mathata a ka bang teng (a amanang le Kopanya, ho bala lihlooho le khouto) seva se tla arabela.

Moreki o sebelisa API ho ikopanya le seva. Ho etsa sena, e hlahisa kopo e netefalitsoeng ea POST, eo thepa ea eona e hlalositsoeng nthong ea seboka sa JMAP. Kopo e ka sebopeho sa kopo / json mme e na le ntho e le 'ngoe ea kopo ea JSON. Seva e boetse e hlahisa ntho e le 'ngoe ea karabo.

В tobileng (ntlha ea 3) bangoli ba fana ka mohlala o latelang ka kopo:

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

Ka tlase ke mohlala oa karabo eo seva e tla e hlahisa:

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

Litlhaloso tse felletseng tsa JMAP tse nang le ts'ebetso ea mohlala li ka fumanoa ho websaete ea molao morero. Moo bangoli ba boetse ba beha tlhaloso ea litlhaloso tsa Mabitso a JMAP и Likhalendara tsa JMAP - li reretsoe ho sebetsa le lik'halendara le manane a mabitso. Ka ho latela bangoli, Mabitso le Likhalendara li ile tsa aroloa ka litokomane tse arohaneng e le hore li ka ntlafatsoa le ho beoa maemong ntle le "mokonoko". Likhoutu tsa mohloli oa JMAP - ho libaka tsa polokelo ho GitHub.

JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila
/ PxMona /PD

Litakatso

Ho sa tsotellehe taba ea hore mosebetsi oa maemo ha o e-s'o phethoe ka molao, o se o ntse o sebelisoa libakeng tsa tlhahiso. Ka mohlala, baqapi ba seva sa poso se bulehileng Cyrus IMAP e sebelisitse mofuta oa eona oa JMAP. Bahlahisi ba tsoang FastMail lokollotsoe moralo oa seva bakeng sa protocol e ncha ho Perl, mme bangoli ba JMAP ba hlahisitse seva ea moemeli.

Re ka lebella hore ho tla ba le merero e mengata ea JMAP nakong e tlang. Mohlala, ho na le monyetla oa hore baetsi ba Open-Xchange, ba thehang seva sa IMAP bakeng sa lits'ebetso tsa Linux, ba fetohele ho protocol e ncha. Hana IMAP bona haholo sechaba se botsa, e entsoeng ho pota-pota lisebelisoa tsa k'hamphani.

Bahlahisi ba tsoang ho IETF le FastMail ba re basebelisi ba ntseng ba eketseha ba bona tlhokahalo ea maemo a macha a bulehileng bakeng sa melaetsa. Bangoli ba JMAP ba tšepa hore nakong e tlang lik'hamphani tse ngata li tla qala ho kenya ts'ebetsong protocol ena.

Lisebelisoa le mehloli ea rona e eketsehileng:

JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Mokhoa oa ho hlahloba li-cookies bakeng sa ho latela GDPR - sesebelisoa se secha se bulehileng se tla thusa

JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Mokhoa oa ho Boloka ka Sehokelo sa Lenaneo la Kopo
JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila DevOps tšebeletsong ea leru ho sebelisa mohlala oa 1cloud.ru
JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Phetoho ea meralo ea maru 1cloud

JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Litlhaselo tse ka 'nang tsa etsahala ho HTTPS le Mokhoa oa ho Sireletsa Khahlanong le Tsona
JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Mokhoa oa ho sireletsa seva inthaneteng: boiphihlelo ba 1cloud.ru
JMAP - protocol e bulehileng e tla nkela IMAP sebaka ha o fapanyetsana mangolo-tsoibila Lenaneo le lekhutšoanyane la thuto: Continuous Integration ke eng

Source: www.habr.com

Eketsa ka tlhaloso