ááá¯áá¡á
á±á¬ááá¯ááºážááœáẠHacker News
IMAP ááŸáá·áº áááºáááºá áá»áœááºá¯áẠáááŒáá¯ááºáá²á·áá«á
protocol ááá¯
áá±á¬ááºááŒá¿áá¬áá áºáá¯ááá±á¬á· áá¬ááºá¡ááœá¬ážá¡áá¬áá¯á¶ážá áœá²ááŸá¯áá²á· áááºá ááºáá±áá«áááºá IMAP ááŒáá·áºá á¡á®ážáá±ážááºáá»á¬ážááᯠáá¬áá¬áá±á«áºááœáẠááááºážáááºážáá¬ážááŒá®áž áá±áááœááºáž áá¯á¶ážá áœá²áá°áá»á¬ážááŸáá·áº á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áááºáá°ááŒá¯áá«áááºá á¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áá°áá ááºáá á¹á ááºážáá±á«áºááŸá áááá¹áá°áá»ááºá á®ážááœá¬ážáá«áá áá±ážááºá¡á¬ážáá¯á¶ážááᯠáááºáá°ááŒá¯ááá«áááºá áá±ááºáá áºááá¹áá¬ááœááºá áá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ ááá¯ááá¯ááºážááºáááááá¬áá»á¬ážááᯠáá¬áá¬ááá¯á· áá»áááºáááºááá¯ááºáá±á¬á¡áá«á á€áááºážáááºážááẠá¡ááœá¬ážá¡áá¬ááŸáá·áº ááœááºáá»á°áá¬ááá¯ááºáᬠá¡áááºážá¡ááŒá áºáá»á¬ážááᯠáá¯á¶ážá áœá²ááŸá¯ááá¯ážáá¬á á±áááºá
á¡áááºá¡áá²áá»á¬ážááẠáááá¯ááá¯áá±á¬ááá¯ááºááá¯ááºááŸáá·áºáá¬áá áááºážááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬ á¡á®ážáá±ážááºáááá¯ááºážááá·áºáá»á¬ážááŸáá·áºáááºáž ááŒá
áºáá±á«áºáá¬áááºá áááºážááááºáá®ážááŸá¯ááŸá
ááŒá®áž IMAP ááẠá¡ááŒáááºáá»á¬ážá
áœá¬ á¡áá»áá¯ážáá»áá¯ážáá±á¬ ááŒááºáááºááŒááºáááºááŸá¯áá»á¬ážááᯠááŒá¯áá¯ááºáá²á·ááẠ- ááá±á·áááºááŸááá¬ážááŸááºážááŸá¬ IMAP4 ááŒá
áºáááºá áá
áºáá»áááºáááºážááŸá¬áááºá ááœááºáááºáá±á«áºááœáẠáááºážá¡ááœáẠááœá±ážáá»ááºááá¯ááºáá±á¬ extension á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá
áá
áºáá»áááºáááºážááŸá¬áááºá áá¯áá¹ááá®áá»á¬ážá
áœá¬ááẠIMAP ááŸáá·áºá¡áá¯ááºáá¯ááºáááœááºáá°á
á±ááá·áº áááºážááá¯á·áááá¯ááºááá¯ááºááŒá±ááŸááºážáá»ááºáá»á¬ážá¡á¬áž áááºážááŸááºážáááº-
âááá¯á·á¡ááŒáẠáá±ááºáá®á¡á®ážáá±ážááºáá±á¬ááºáááºáá áºáŠážááẠáááºáá±á·áá»áºáá»á¬ážáá±ážááá¯á·áá¯á¶áá¬áá á¡áááºá¡ááœááºáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºááŒá®áž ááŒáá¹áááááºááŸáá·áº áá áºááŒáá¯ááºáááºážáá¯ááºáá±á¬ááºááá¯ááºááááºâ áᯠIaaS áááºáá±á¬ááºááŸá¯áá±ážáá°á ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááŒá®ážá¡áá² Sergei Belkin á ááŒá±á¬ááŒá¬ážáá²á·áááºá
1cloud.ru . - ááá±á·ááœáẠThird-party áááá¯ááá¯áá±á¬áá»á¬áž ááŒáá¯ááºáááºáLDAP ,CardDAV ОCalDAV . á€áá»ááºážáááºááŸá¯ááẠáá±á¬áºááá¯ááááºááœááºáááºáá»á¬ážááœáẠFirewall áááœá²á·á ááºážáá¯á¶ááᯠááŸá¯ááºááœá±ážá á±ááŒá®áž ááá¯ááºáá¬ááá¯ááºááá¯ááºááŸá¯áá»á¬ážá¡ááœáẠvector á¡áá áºáá»á¬ážááá¯ááœáá·áºáá±ážáááºá"
JMAP ááẠá€ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá Internet Engineering Task Force (IETF) á áááºážááœáŸááºááŸá¯á¡á±á¬ááºááœáẠFastMail áá»áœááºážáá»ááºáá°áá»á¬ážá០áá®ááœááºáá¯ááºáá¯ááºáá¬ážáá«áááºá áááá¯ááá¯áá±á¬ááẠHTTPS áááááºááœááºáá¯ááºáá±á¬ááºáááºá JSON ááá¯á¡áá¯á¶ážááŒá¯ááẠ(ááá¯á·ááŒá±á¬áá·áºáááºážááẠá¡á®áááºáááœááºážáá áºá á¬ááá¯áá»á¬ážáááŸááºáááºá¡ááœááºáá¬áá cloud ááœááºáá¯ááºáá±á¬ááºá áá¬áá»á¬ážá áœá¬ááá¯ááŒá±ááŸááºážáááºá¡ááœááºáááºážááá·áºáá»á±á¬áºáááº) ááŸáá·áº ááá¯ááá¯ááºážá áá áºáá»á¬ážááœáẠmail ááŒáá·áºá¡áá¯ááºáá¯ááºáá±á¬á¡ááœá²á·á¡á ááºážááá¯ááá¯ážááŸááºážá á±áááºá á á¬áá¯á¶ážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážá¡ááŒááºá JMAP ááẠá¡áááºá¡ááœááºáá»á¬ážááŸáá·áº ááŒáá¹áááááºá á®á ááºáá°ááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠááá¯ážáá»á²á·ááŸá¯áá»á¬ážááᯠáá»áááºáááºááá¯ááºá á±áá«áááºá
áááá¯ááá¯áá±á¬á¡áá áºá á¡ááºá¹áá«áááºáá»á¬áž
JMAP áá«á
JMAP ááŸá á¡á®ážáá±ážááºááᯠJSON ááœá²á·á
ááºážáá¯á¶áá±á¬áºáááºááŒáá·áº ááá¯ááºá
á¬ážááŒá¯áá«áááºá áááºáá±á·áá»áºá០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶áž áá«ááŸááááºá
áá±á¬ááºáááºááẠáá¬áá¬ááᯠáááºááœááºááẠAPI ááᯠá¡áá¯á¶ážááŒá¯áááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá áááºážááẠJMAP á ááºááŸááºá¡áá¬ááá¹áá¯ááœáẠáá±á¬áºááŒáá¬ážááá·áº áá¯ááºááá¹áááá»á¬ážááᯠá á áºááŸááºááá·áº POST áá±á¬ááºážááá¯ááŸá¯ááᯠáá¯ááºáá±ážáááºá áá±á¬ááºážááá¯áá»ááºááẠá¡ááá®áá±ážááŸááºáž/json áá±á¬áºáááºááŒá áºááŒá®áž JSON áá±á¬ááºážááá¯áá»ááºáá áºáá¯áá² áá«áááºáá«áááºá áá¬áá¬ááẠáá¯á¶á·ááŒááºááŸá¯á¡áá¬ááá¹áá¯áá áºáá¯ááá¯áááºáž áá¯ááºáá±ážáááºá
Ð
{
"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 áááºááŸááºáá»ááºá¡ááŒáá·áºá¡á
á¯á¶ááᯠááœáẠááœá±á·ááá¯ááºáá«áááºá
/
á¡áá¬ážá¡áá¬
á
á¶áá»áááºá
á¶ááœáŸááºážááá¯ááºáᬠáá¯ááºáááºážáá»á¬ážááᯠááá¬ážáááºáááŒá®ážááŒááºáá±ážáá±á¬áºáááºáž áá¯ááºáá¯ááºááŸá¯áááºáááºážáá»ááºááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ááºááœááºáá±ááŒá®ááŒá
áºáááºá á¥ááá¬á¡á¬ážááŒáá·áº open mail server ááᯠáááºáá®ážáá°áá»á¬áž
á¡áá¬áááºááœáẠJMAP á¡ááŒá±ááŒá¯ ááá±á¬áá»ááºáá»á¬áž ááá¯áá»á¬ážáá¬áááºáᯠáá»áœááºá¯ááºááá¯á· áá»áŸá±á¬áºááá·áºááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Linux á
áá
áºáá»á¬ážá¡ááœáẠIMAP áá¬áá¬ááᯠáááºáá®ážáá±ááá·áº Open-Xchange á០developer áá»á¬ážááẠáááá¯ááá¯áá±á¬á¡áá
áºááá¯á· ááŒá±á¬ááºážááá¯ááºááŒá±á¡áá»áá¯á·ááŸááááºá IMAP ááá¯á·ááᯠá¡ááœááºááŒááºážáááºáá«á
IETF ááŸáá·áº FastMail á០developer áá»á¬ážá áááºáá±á·áá»áºááá¯á·ááŒááºážá¡ááœáẠá á¶áááºááŸááºáá»ááºá¡áá áºáá áºáᯠááá¯á¡ááºááŒá±á¬ááºáž áá¯á¶ážá áœá²áá°áá»á¬áž ááá¯ááá¯áá»á¬ážááŒá¬ážáá¬áááºááᯠááœá±á·ááŒááºáá±áááŒá®ááŒá áºáááºá JMAP áá á¬áá±ážááá¬áá»á¬ážááẠá¡áá¬áááºááœáẠáá±á¬ááºáááºáá¯áá¹ááá®áá»á¬ážááẠá€áááá¯ááá¯áá±á¬ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááẠáá»áŸá±á¬áºááá·áºáá±ááŒáááºá
áá»áœááºá¯ááºááá¯á·á áá±á¬ááºáááºá¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº á¡áááºážá¡ááŒá áºáá»á¬áž-
Application Programming Interface ááŒáá·áº ááááºážáááºážáááºáž
1cloud.ru á á¥ááá¬ááᯠá¡áá¯á¶ážááŒá¯á cloud áááºáá±á¬ááºááŸá¯áá áºáá¯ááŸá DevOps
cloud áááá¯áᬠ1cloud áááá·áºáá²ááŒá áºá ááº
HTTPS ááœáẠááŒá áºááá¯ááºáá»á±ááŸááá±á¬ ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááŸáá·áº áááºážááá¯á·ááᯠáááºááá¯á·áá¬ááœááºáááºáááºážá
á¡ááºáá¬áááºáá±á«áºááŸááá¬áá¬ááá¯áá¬ááœááºáááºáž- 1cloud.ru á¡ááœá±á·á¡ááŒá¯á¶
ááá¯áá±á¬ááºážáá±á¬ ááá¬áá±ážá¡á á®á¡á ááº- á ááºáááºáááŒáẠáá±á«ááºážá ááºážááŒááºážááá¯áááºááŸá¬ á¡áááºáááºáž
source: www.habr.com