JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail

Pakutanga mwedzi uno paHacker News yakakurukurwa zvakasimba JMAP protocol yakagadzirwa pasi pekutungamirirwa kweIETF. Takasarudza kutaura kuti nei ichidiwa uye kuti inoshanda sei.

JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail
/ stocks /PD

Zvandaisafarira nezve IMAP

Protocol IMAP yakatangwa muna 1986. Zvinhu zvakawanda zvinotsanangurwa muchiyero hazvichina basa nhasi. Semuenzaniso, iyo protocol inogona kudzorera nhamba yemitsara yetsamba uye checksums MD5 -Kushanda uku hakushandiswe mune zvemazuva ano email vatengi.

Rimwe dambudziko rine chekuita nekushandiswa kwemotokari. Ne IMAP, maemail anochengetwa pane sevha uye nguva nenguva anowiriraniswa nevatengi vemunharaunda. Kana nekuda kwechimwe chikonzero kopi pamudziyo wemushandisi ikashatiswa, tsamba dzese dzinofanirwa kuwiriraniswa zvakare. Munyika yanhasi, kana zviuru zvemafoni efoni anogona kubatana kune server, nzira iyi inotungamira mukuwedzera kushandiswa kwetraffic uye komputa zviwanikwa.

Matambudziko anomuka kwete chete neprotocol pachayo, asiwo nevatengi veemail vanoshanda nayo. Kubva pakusikwa kwayo, IMAP yanga iri pasi pekudzokororwa kwakasiyana kakawanda - iyo yazvino vhezheni nhasi IMAP4. Panguva imwecheteyo, kune zvakawanda zvingasarudzwa zvekuwedzera kune iyo - pane network rakabudiswa makumi mapfumbamwe maRFC ane akawedzera. Imwe yeazvino ndeye RFC8514, yakaunzwa muna 2019.

Panguva imwecheteyo, makambani mazhinji anopa avo ega mhinduro dzinofanirwa kurerutsa kushanda neIMAP kana kutoitsiva: Gmail, mataridzikiro, nylas. Mhedzisiro ndeyekuti vatengi veemail varipo vanongotsigira zvimwe zvezvinhu zviripo. Kusiyana kwakadaro kunotungamira mukugovaniswa kwemusika.

"Uyezve, mutengi wemazuva ano weemail haafanire kutumira mameseji chete, asi anokwanisa kushanda nevanobata uye kuwiriranisa nekarenda," anodaro Sergei Belkin, mukuru webudiriro kuIaaS mupi. 1cloud.ru. - Nhasi, yechitatu-bato mapuroteni senge LDAP, CardDAV ΠΈ CalDAV. Iyi nzira inokanganisa kugadziridzwa kwemafirewall mumakambani network uye inovhura mavector matsva ekurwisa cyber. "

JMAP yakagadzirirwa kugadzirisa aya matambudziko. Iyo iri kuvandudzwa neFastMail nyanzvi pasi pekutungamirwa neInternet Engineering Task Force (IETF). Iyo protocol inomhanya pamusoro peHTTPS, inoshandisa JSON (nekuda kwechikonzero ichi haikodzeri chete kuchinjanisa mameseji emagetsi, asiwo nekugadzirisa akati wandei mabasa ari mugore) uye inorerutsa sangano rekushanda netsamba munharembozha. Pamusoro pekugadzirisa mavara, JMAP inopawo kugona kubatanidza mawedzero ekushanda nevanobatika uye kalendari inoronga.

Zvimiro zveprotocol itsva

JMAP iri stateless protocol (isina state) uye haidi kubatana zvachose kune mail server. Iyi ficha inorerutsa basa mune isina kugadzikana nharembozha uye inochengetedza bhatiri simba pamidziyo.

Iyo email muJMAP inomiririrwa mune JSON chimiro fomati. Iine ruzivo rwese kubva mumeseji RFC5322 (Internet Message Format), iyo inogona kudiwa neemail application. Sekureva kwevagadziri, nzira iyi inofanirwa kurerutsa kusikwa kwevatengi, sezvo kugadzirisa zvinogona kunetsa (zvakabatana ne Mime, kuverenga misoro uye encoding) sevha inopindura.

Mutengi anoshandisa iyo API kubata server. Kuti uite izvi, inogadzira yakavimbiswa POST chikumbiro, izvo zvimiro zvinotsanangurwa muchikamu cheJMAP chikamu. Chikumbiro chiri mukushandisa/json fomati uye ine chinhu chimwe chekukumbira cheJSON. Sevha zvakare inogadzira chinhu chimwe chekupindura.

Π’ kutaurwa (poindi 3) vanyori vanopa muenzaniso unotevera nechikumbiro:

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

Pazasi pane muenzaniso wemhinduro iyo server ichagadzira:

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

Iyo yakazara JMAP yakatarwa nemuenzaniso mashandisirwo inogona kuwanikwa pa website yepamutemo project. Ikoko vanyori vakatumirawo tsananguro yezvakatemwa zve JMAP Contacts ΠΈ JMAP Calendars - vane chinangwa chekushanda nemakarenda uye mazita ekusangana. By maererano vanyori, Mazita uye Makarenda akapatsanurwa kuita magwaro akapatsanurwa kuitira kuti awedzere kusimudzirwa nekumisikidzwa pasina "core". Source makodhi eJMAP - mukati repositories paGitHub.

JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail
/ stocks /PD

Matarisiro

Kunyangwe chokwadi chekuti basa pachiyero hachisati chapedzwa zviri pamutemo, chiri kutoitwa munzvimbo dzekugadzira. Semuenzaniso, vagadziri veiyo yakavhurika mail server Cyrus IMAP yakashandisa JMAP vhezheni yayo. Vagadziri kubva FastMail yakaburitswa server framework yeiyo protocol nyowani muPerl, uye vanyori veJMAP vakaratidzwa proxy server.

Tinogona kutarisira kuti kuchave nekuwanda uye kwakawedzera mapurojekiti eJMAP mune ramangwana. Semuenzaniso, pane mukana wekuti vanogadzira kubva kuOpen-Xchange, vari kugadzira IMAP server yeLinux masisitimu, vachinjire kune itsva protocol. Ramba IMAP ivo zvakanyanya venharaunda vanobvunza, yakaumbwa yakatenderedza zvishandiso zvekambani.

Vagadziri kubva kuIETF neFastMail vanoti vashandisi vazhinji uye vazhinji vari kuona kukosha kweyero nyowani yakavhurika yekutumira mameseji. Vanyori veJMAP vanotarisira kuti mune ramangwana mamwe makambani achatanga kuita iyi protocol.

Yedu yekuwedzera zviwanikwa uye masosi:

JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Maitiro ekutarisa makuki ekuteerera kweGDPR - chishandiso chitsva chakavhurika chichabatsira

JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Maitiro Ekuchengetedza neApplication Programming Interface
JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail DevOps mubasa regore uchishandisa muenzaniso we1cloud.ru
JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Evolution ye1cloud cloud architecture

JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Zvinogona kurwisa HTTPS uye maitiro ekudzivirira kubva kwavari
JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Nzira yekudzivirira sei sevha paInternet: 1cloud.ru ruzivo
JMAP - yakavhurika protocol inotsiva IMAP kana uchichinjana maemail Chirongwa chipfupi chedzidzo: chii chiri Continuous Integration

Source: www.habr.com

Voeg