рдпрд╕ рдорд╣рд┐рдирд╛рдХреЛ рд╕реБрд░реБрдорд╛ рд╣реНрдпрд╛рдХрд░ рд╕рдорд╛рдЪрд╛рд░рдорд╛
/
IMAP рдХреЛ рдмрд╛рд░реЗрдорд╛ рдорд▓рд╛рдИ рдХреЗ рдорди рдкрд░реЗрди
рдкреНрд░реЛрдЯреЛрдХрд▓
рдЕрд░реНрдХреЛ рд╕рдорд╕реНрдпрд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдЦрдкрддрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫред IMAP рдХреЛ рд╕рд╛рде, рдЗрдореЗрд▓рд╣рд░реВ рд╕рд░реНрднрд░рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ рд░ рдЖрд╡рдзрд┐рдХ рд░реВрдкрдорд╛ рд╕реНрдерд╛рдиреАрдп рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд╕рдБрдЧ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░рд┐рдиреНрдЫред рдпрджрд┐ рдХреБрдиреИ рдХрд╛рд░рдгрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдпрдиреНрддреНрд░рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрд┐рдЧреНрд░рд┐рдпреЛ рднрдиреЗ, рд╕рдмреИ рдореЗрд▓рд╣рд░реВ рдлреЗрд░рд┐ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕рд╛рд░рдорд╛, рдЬрдм рд╣рдЬрд╛рд░реМрдВ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рд░реНрднрд░рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХ рд░ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЦрдкрдд рдмрдврд╛рдЙрдБрдЫред
рдХрдард┐рдирд╛рдЗрд╣рд░реВ рдкреНрд░реЛрдЯреЛрдХрд▓ рдЖрдлреИрдВрдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рдпрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЗрдореЗрд▓ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫред рдпрд╕рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдкрдЫрд┐, IMAP рдзреЗрд░реИ рдкрдЯрдХ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╢реЛрдзрдирд╣рд░реВрдХреЛ рдЕрдзреАрдирдорд╛ рд░рд╣реЗрдХреЛ рдЫ - рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдЬ IMAP4 рд╣реЛред рдПрдХреИ рд╕рдордпрдорд╛, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдЫрдиреН - рдиреЗрдЯрд╡рд░реНрдХрдорд╛
рдПрдХреИ рд╕рдордпрдорд╛, рдзреЗрд░реИ рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рдЖрдлреНрдиреИ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрдЫрдиреН рдЬрд╕рд▓реЗ IMAP рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╡рд╛ рдпрд╕рд▓рд╛рдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрдирд┐ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ:
"рдпрд╕рдмрд╛рд╣реЗрдХ, рдПрдХ рдЖрдзреБрдирд┐рдХ рдЗрдореЗрд▓ рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓реЗ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдорд╛рддреНрд░ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрджреИрди, рддрд░ рд╕рдореНрдкрд░реНрдХрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд░ рдХреНрдпрд╛рд▓реЗрдиреНрдбрд░рд╕рдБрдЧ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрдкрд░реНрдЫ," IaaS рдкреНрд░рджрд╛рдпрдХрдХрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдореБрдЦ рд╕рд░реНрдЧреЗрдИ рдмреЗрд▓реНрдХрд┐рди рднрдиреНрдЫрдиреНред
1Cloud.ru ред - рдЖрдЬ, рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдЬрд╕реНрддреИLDAP ,рдХрд╛рд░реНрдбрдбреАрдПрднреА ╨╕CalDAV ред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдХрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрдорд╛ рдлрд╛рдпрд░рд╡рд╛рд▓рд╣рд░реВрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓рд╛рдИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрдБрдЫ рд░ рд╕рд╛рдЗрдмрд░ рдЖрдХреНрд░рдордгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рднреЗрдХреНрдЯрд░рд╣рд░реВ рдЦреЛрд▓реНрдЫред"
JMAP рдпреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдпреЛ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рдЯрд╛рд╕реНрдХ рдлреЛрд░реНрд╕ (IETF) рдХреЛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдирдорд╛ рдлрд╛рд╕реНрдЯрдореЗрд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реБ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрд░реЛрдЯреЛрдХрд▓ HTTPS рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдЪрд▓реНрдЫ, JSON рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ (рдпрд╕ рдХрд╛рд░рдгрд▓реЗ рдпреЛ рдХреЗрд╡рд▓ рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдирд┐рдХ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдЖрджрд╛рдирдкреНрд░рджрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫреИрди, рддрд░ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдзреЗрд░реИ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдЙрдкрдпреБрдХреНрдд рдЫ) рд░ рдореЛрдмрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдореЗрд▓рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдВрдЧрдардирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрджрдЫред рдкрддреНрд░рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, JMAP рд▓реЗ рд╕рдореНрдкрд░реНрдХрд╣рд░реВ рд░ рдХреНрдпрд╛рд▓реЗрдиреНрдбрд░ рдЕрдиреБрд╕реВрдЪрдХрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рдирдпрд╛рдБ рдкреНрд░реЛрдЯреЛрдХрд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ
JMAP рдЫ
JMAP рдорд╛ рдПрдЙрдЯрд╛ рдЗрдореЗрд▓ JSON рд╕рдВрд░рдЪрдирд╛ рдврд╛рдБрдЪрд╛рдорд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░рд┐рдиреНрдЫред рдпрд╕рд▓реЗ рд╕рдиреНрджреЗрд╢рдмрд╛рдЯ рд╕рдмреИ рдЬрд╛рдирдХрд╛рд░реА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ
рдЧреНрд░рд╛рд╣рдХрд▓реЗ рд╕рд░реНрднрд░рд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрди API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рдПрдХ рдкреНрд░рдорд╛рдгреАрдХреГрдд POST рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫ, рдЬрд╕рдХреЛ рдЧреБрдгрд╣рд░реВ JMAP рд╕рддреНрд░ рд╡рд╕реНрддреБрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрдиреБрд░реЛрдз рдЕрдиреБрдкреНрд░рдпреЛрдЧ/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 рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ
/
рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВ
рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж рдорд╛рдирдХ рдорд╛ рдХрд╛рдо рдЕрдЭреИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рдкреВрд░рд╛ рднрдПрдХреЛ рдЫреИрди, рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЦреБрд▓рд╛ рдореЗрд▓ рд╕рд░реНрднрд░рдХрд╛ рд╕рд┐рд░реНрдЬрдирд╛рдХрд░реНрддрд╛рд╣рд░реВ
рд╣рд╛рдореА рдЖрд╢рд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдпрдорд╛ рдердк рд░ рдзреЗрд░реИ JMAP-рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдгрд╛рд▓реАрдХрд╛ рд▓рд╛рдЧрд┐ IMAP рд╕рд░реНрднрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ Open-Xchange рдХрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдирдпрд╛рдБ рдкреНрд░реЛрдЯреЛрдХрд▓рдорд╛ рдЬрд╛рдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫред IMAP рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдзреЗрд░реИ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
IETF рд░ FastMail рдХрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рднрдиреНрдЫрдиреН рдХрд┐ рдЕрдзрд┐рдХ рд░ рдЕрдзрд┐рдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╕рдиреНрджреЗрд╢рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдЦреБрд▓рд╛ рдорд╛рдирдХрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред JMAP рдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВ рдЖрд╢рд╛ рдЧрд░реНрджрдЫрдиреН рдХрд┐ рднрд╡рд┐рд╖реНрдпрдорд╛ рдзреЗрд░реИ рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рдпреЛ рдкреНрд░реЛрдЯреЛрдХрд▓ рд▓рд╛рдЧреВ рдЧрд░реНрди рдерд╛рд▓реНрдиреЗрдЫрдиреНред
рд╣рд╛рдореНрд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрдд рд░ рд╕реНрд░реЛрддрд╣рд░реВ:
рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд╕рд╛рде рдХрд╕рд░реА рдмрдЪрдд рдЧрд░реНрдиреЗ
1cloud.ru рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдорд╛ DevOps
рез рдХреНрд▓рд╛рдЙрдб рдХреНрд▓рд╛рдЙрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рд╡рд┐рдХрд╛рд╕
HTTPS рдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рдЖрдХреНрд░рдордгрд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рдХрд╕рд░реА рд╕реБрд░рдХреНрд╖рд╛ рдЧрд░реНрдиреЗ
рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рд╕рд░реНрднрд░ рдХрд╕рд░реА рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрдиреЗ: 1cloud.ru рдЕрдиреБрднрд╡
рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо: рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд╣реЛ
рд╕реНрд░реЛрдд: www.habr.com