Кіріспе
Электрондық поштаны алу және сақтауға арналған қолданбалық қабат протоколы. Компьютерлік жүйелерде, Интернеттік хабар алмасу протоколы (IMAP) – электрондық пошта клиенттерінің TCP/IP байланысы арқылы пошта серверінен электрондық хабарларды алу үшін пайдаланатын интернет стандарты протоколы. IMAP бірнеше электрондық пошта клиенттерімен электрондық пошта жәшігін толық басқару мүмкіндігін қамтамасыз ету мақсатымен жасалған, сондықтан клиенттер әдетте пайдаланушы оларды өшіргенге дейін хабарламаларды серверде сақтайды. IMAP сервері әдетте 143 нөміріндегі портты тыңдайды. SSL/TLS арқылы IMAP (IMAPS) 993 нөміріндегі портқа тағайындалады. Көбінесе барлық заманауи электрондық пошта клиенттері мен серверлері IMAP-ты қолдайды, ол бұрынғы POP3 (Пошта протоколы) протоколымен бірге электрондық поштаны алудың ең көп таралған екі стандартты протоколы болып табылады. Gmail және Outlook.com сияқты көптеген веб-пошта қызметтері IMAP және POP3 протоколдарын қолдайды.
In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by
IMAP was designed with the goal of permitting complete management of an email box by multiple email clients, therefore clients generally leave messages on the server until the user explicitly deletes them. An IMAP server typically listens on port number 143. IMAP over SSL/TLS (IMAPS) is assigned the port number 993. Virtually all modern e mail clients and servers support IMAP, which along with the earlier POP3 (Post Office Protocol) are the two most prevalent standard protocols for email retrieval. Many webmail service providers such as Gmail and Outlook. com also provide support for both IMAP and POP3.
Электрондық пошта протоколдары
Интернет-хабарламаға қол жеткізу протоколы (IMAP) – электрондық пошта клиентіне қашықтағы пошта серверіндегі электрондық поштаға қол жеткізуге мүмкіндік беретін қосымша деңгейдегі интернет-протокол. Қазіргі нұсқасы IMAP сервері әдетте 143 портында жұмыс істейді, ал IMAP SSL/TLS арқылы (IMAPS) 993 портын пайдаланады. Көптеген электрондық пошта жүйелері электрондық поштаны алу үшін POP және IMAP протоколдарын қолдайды, бұл Pegasus Mail немесе Mozilla Thunderbird сияқты көптеген электрондық пошта клиенттерінен серверлерге қол жеткізуге және оларды басқа серверлермен пайдалануға мүмкіндік береді. IMAP-ты пайдаланатын электрондық пошта клиенттері әдетте пайдаланушы оларды өшіргенге дейін хабарламаларды серверде сақтайды. IMAP жұмысының осы және басқа да ерекшеліктері бірнеше клиентке бір пошта жәшігін басқаруға мүмкіндік береді. Көптеген электрондық пошта клиенттері хабарламаларды алу үшін Пошта кеңсесі протоколынан (POP) басқа IMAP-ты да қолдайды. IMAP пошта сақтау орнына қол жеткізуді қамтамасыз етеді. Клиенттер хабарламалардың жергілікті көшірмелерін сақтай алады, бірақ олар уақытша кэш ретінде қарастырылады.
Бастапқы IMAP
Бастапқы Интерьерлік поштаға қол жеткізу протоколы Xerox Lisp Machine клиенті және TOPS 20 сервері ретінде іске асырылды. Бастапқы уақытша протокол спецификациясының немесе оның бағдарламалық қамтамасының көшірмелері сақталған жоқ. Кейбір командалары мен жауаптары IMAP2-ге ұқсас болғанымен, аралық протокол командалар/жауаптарды таңдау мүмкіндігінен айырылғандықтан, оның синтаксисі IMAP-тің барлық басқа нұсқаларымен үйлесімсіз болды.
IMAP2
Уақытша хаттама тез арада Интерактивті поштаға қол жеткізу протоколымен (IMAP2) алмастырылды, ол 1988 жылы анықталды және кейіннен 1990 жылы жаңартылды. IMAP2 командалық/жауаптық таңдау белгілерін енгізді және бұл алғаш рет жарияланған нұсқа болды.
IMAP3
IMAP3 – IMAP-тың өте сирек кездесетін түрі. IMAP3 нарықта ешқашан қабылданып көрмеді. IESG 1993 жылы RFC1203 «Интерактивті поштаға қол жеткізу протоколы – 3-ші нұсқасы» құжатын Тарихи протокол ретінде қайта жіктеді. IMAP жұмыс тобы RFC 1203 (IMAP3) емес, RFC 1176 (IMAP2) құжатын бастапқы нүкте ретінде пайдаланды.
IMAP2bis
MIME пайда болғаннан кейін IMAP2 MIME дене құрылымдарын қолдау үшін кеңейтілді және IMAP2-де болмаған пошта жәшігін басқару мүмкіндіктері (жасау, жою, атауын өзгерту, хабарларды жүктеу) қосылды. Бұл тәжірибелік жаңартпа IMAP2bis деп аталды; оның спецификациясы ешқашан жоба түрінде жарияланбады. IETF IMAP жұмыс тобы 1993 жылдың қазан айында IMAP2bis интернет жобасын жариялады. Бұл жоба келесі бұрынғы, жарияланбаған IMAP2bis спецификацияларына негізделген: TXT құжаты, және (IMAP2). IMAP2bis. TXT жобасы 1992 жылдың желтоқсанына қарай IMAP2 кеңейтімдерінің күйін көрсетеді. Pine-нің алғашқы нұсқалары IMAP2bis қолдауымен кеңінен таралды (Pine 4.00 және одан кейінгі нұсқалары IMAP4rev1-ді қолдайды).
IMAP4
1990 жылдардың басында IETF-де құрылған IMAP жұмыс тобы IMAP2bis дизайнына жауапкершілікті өз мойнына алды. IMAP жұмыс тобы шатасуды болдырмау үшін IMAP2bis-ті IMAP4 деп қайта атауға шешім қабылдады.
Қосылған және ажыратылған режимдер
POP-ты пайдаланғанда клиенттер әдетте электрондық пошта серверіне жаңа хабарларды жүктеуге қажетті уақытқа ғана қысқа мерзімге қосылады. IMAP4 қолданғанда клиенттер пайдаланушы интерфейсі активті болған кезде ұзақ уақытқа қосылып тұрады және қажет болғанда хабарлама мазмұнын жүктейді. Көптеген немесе үлкен хабарламалары бар пайдаланушылар үшін осы IMAP4 қолдану жолы жауап беру жылдамдығын арттыруы мүмкін.
Сыртқы өзгерістер туралы есеп беру
Аутентификация сәтті өткеннен кейін POP протоколы пошта жәшігінің ағымдағы күйін толыққанды статикалық түрде көрсетеді және сессия барысында сыртқы өзгерістерді көрсету механизмін ұсынбайды. Керісінше, IMAP протоколы динамикалық көрініс береді және жаңадан келген хабарламаларды, сондай-ақ басқа бір уақытта қосылған клиенттердің пошта жәшігіне енгізген өзгерістерін анықтап, командалар арасында және IDLE командасы кезінде тиісті жауаптарды жіберуді қажет етеді. Бұл туралы 5.2-бөлімде, нақтырақ айтқанда, "бірнеше агенттердің бірдей пошта жәшігіне бір уақытта қол жеткізуі" туралы айтылған.
MIME хабарлама бөліктеріне қол жеткізу және ішінара алу
Көбінесе барлық Интернет электрондық поштасы MIME форматында жіберіледі, бұл хабарламаларға ағаш құрылымын құруға мүмкіндік береді, онда жапырақ түйіндері әртүрлі бір бөліктен тұратын мазмұн түрлерінің кез келгені, ал жапырақ емес түйіндері әртүрлі көп бөліктен тұратын түрлерінің кез келгені болады. IMAP4 протоколы клиенттерге жеке MIME бөліктерін бөлек-бөлек және жеке бөліктердің немесе бүкіл хабарламаның бөліктерін алуға мүмкіндік береді. Бұл механизмдер клиенттерге тіркелген файлдарды жүктемей-ақ хабарламаның мәтіндік бөлігін алуға немесе мазмұнды жүктеу барысында оны тікелей қарауға мүмкіндік береді.
Хабарламаның күйі туралы ақпарат
IMAP4 протоколында белгіленген жалаушаларды қолдану арқылы клиенттер хабарламаның күйін қадағалай алады: мысалы, хабарлама оқылған ба, жауап берілген бе, жойылған ба. Бұл жалаушалар серверде сақталады, сондықтан әртүрлі уақытта бірдей пошта жәшігіне кіретін әртүрлі клиенттер басқа клиенттер жасаған күй өзгерістерін анықтай алады. POP клиенттерге осындай күй туралы ақпаратты серверде сақтау мүмкіндігін бермейді, сондықтан егер бір пайдаланушы екі түрлі POP клиенті арқылы пошта жәшігіне кірсе (әр түрлі уақытта), хабарламаға қол жеткізілген сияқты күй туралы ақпарат клиенттер арасында синхрондалмайды. IMAP4 протоколы алдын ала анықталған жүйелік жалаушаларды және клиенттермен анықталатын кілт сөздерді қолдайды. Жүйелік жалаушалар хабарламаның оқылған-оқылмағаны сияқты күй туралы ақпаратты көрсетеді. Барлық IMAP серверлері қолдамайтын кілт сөздер хабарламаларға бір немесе бірнеше белгілер беруге мүмкіндік береді, олардың мағынасы клиентке байланысты. IMAP кілт сөздерін кейде IMAP папкаларына аударылатын веб-пошта қызметтерінің жекелеген белгілерімен шатастыруға болмайды, бұл аударманы тиісті жеке серверлер жасайды.
Серверде бірнеше пошта жәшіктері бар
IMAP4 клиенттері серверде пошта жәшіктерін (әдетте пайдаланушыға папкалар ретінде ұсынылады) құруға, атын өзгертуге және жоюға, сондай-ақ хабарламаларды пошта жәшіктері арасында көшіруге мүмкіндік береді. Көптеген пошта жәшіктерін қолдау серверлерге ортақ және жалпы қолданыстағы папкаларға қол жеткізуге де мүмкіндік береді. IMAP4 Access Control List (ACL) кеңейтімi (қосымшасы) қол жеткізу құқықтарын реттеу үшін пайдаланылуы мүмкін.
Сервер жағындағы іздеулер
IMAP4 клиентке серверден түрлі талаптарға сай келетін хабарларды іздеуге мүмкіндік беретін механизмді ұсынады. Бұл механизм клиенттерге осы іздеулерді жүзеге асыру үшін пошта жәшігіндегі барлық хабарды жүктеу қажеттілігін жояды.
Қалтаға салынған кеңейту механизмі
IMAP4 бұрынғы интернет-протоколдарының тәжірибесін ескере отырып, оны кеңейтуге арналған нақты механизмді анықтайды. Көптеген IMAP4 негізгі протоколға қосымшалар ұсынылған және олар жиі қолданылады. IMAP2bis-те кеңейту механизмі болмаған, ал POP қазір осындай механизмге ие.
Сервердің push хабарламалары
IMAP IDLE пошта серверіне қосылған клиенттерге пошта жәшігінде өзгерістер болғанын, мысалы, жаңа хат келгендіктен хабарлау мүмкіндігін береді. POP мұндай мүмкіндікке ие емес, сондықтан электрондық пошта клиенттері жаңа хаттарды тексеру үшін POP серверіне үнемі қосылуы тиіс.
Кемшіліктер
IMAP POP-тың көптеген кемшіліктерін жояды, бірақ бұл өзінен-өзі қосымша күрделілік әкеледі. Осы күрделіліктің көп бөлігі (мысалы, бір мезгілде бір пошта жәшігіне бірнеше клиент қосылуы) Maildir немесе деректер базасының серверлік жұмысымен өтеледі. IMAP спецификациясы жеткілікті түрде қатаң емес және оның пайдалылығын жоққа шығаратын әрекеттерге жол береді деп сынға ілінген. Мысалы, спецификацияда серверде сақталған әрбір хабарламаның клиенттерге сессиялар арасында көрілген хабарламаларды анықтауға мүмкіндік беретін "бірдей идентификаторы" болатыны көрсетілген. Дегенмен, спецификация осы UID-терді іс жүзінде мақсатын жоятын, дерлік шектеусіз жарамсыз деп тануға да рұқсат береді. Әкімшілік және ресурстық тұрғыдан IMAP протоколын бұлтты есептеудің бастапқы нұсқасы ретінде қарастыруға болады, себебі IMAP-тың мақсаты мен міндеті – пошта серверінде пошта жәшігі құрылымын (мазмұны, қалталар құрылымы, жеке хабарламалардың күйі және т.б.) сақтау, ал POP-та бұл ақпараттың бәрі пайдаланушының жергілікті құрылғысында сақталады. Осылайша, IMAP серверлік жағында әлдеқайда көп ресурстарды қажет етеді, нәтижесінде әрбір пошта жәшігі үшін шығындар айтарлықтай артады. Егер сервердегі поштаны сақтау, индекстеу және іздеу алгоритмдері мұқият іске асырылмаса, клиент үлкен пошта жәшіктерін іздеу кезінде сервер ресурстарын көп мөлшерде пайдалануы мүмкін. IMAP4 клиенттері жаңа хаттардың келуі туралы хабар алу үшін IMAP серверіне TCP/IP қосылысын ұстап тұруы керек. Хаттардың келуі туралы хабар тараптан берілетін сигнал арқылы жіберіледі, бұл клиенттік жағындағы IMAP протоколын өңдеудің күрделілігіне әсер етеді. Жеке ұсыныс бойынша, push IMAP IMAP-ты push электрондық поштаны іске асыру үшін, жай ғана хабарлама емес, толық хабарламаны жіберу арқылы кеңейтеді. Алайда, push IMAP кеңінен қабылдауға ие болған жоқ және қазіргі IETF жұмысы мәселені басқа тәсілдермен шешті (қосымша ақпарат алу үшін Lemonade Profile-ға қараңыз). Кейбір меншік протоколдар жіберу және алу операцияларын біріктіретін болса, IMAP клиентінің базалық деңгейінде хабарламаны жіберу және серверлік қалтада көшірмесін сақтау үшін хабарлама мазмұнын екі рет жіберу қажет – бір рет SMTP арқылы жеткізу үшін және екінші рет IMAP арқылы жіберілген хаттар қалтасында сақтау үшін. Бұл мәселе IETF Lemonade Profile мобильді құрылғылар үшін анықтаған кеңейтулер жиынтығымен шешіледі: IMAP-та URLAUTH және CATENATE, ал SMTP SUBMISSION-да BURL. Сонымен қатар, Courier Mail Server IMAP арқылы жіберудің стандартты емес әдісін ұсынады, ол шығатын хабарламаны арнайы шығатын қалтаға көшіруді қамтиды.
Қауіпсіздік
Клиент пен сервер арасындағы IMAP байланыстарын криптографиялық түрде қорғау үшін TCP 993 портындағы IMAPS қолданылуы мүмкін, ол SSL/TLS технологиясын пайдаланады. Балама ретінде, бастапқыда қарапайым мәтінмен байланысқаннан кейін 143 портына қосылған кезде байланысты шифрлау үшін STARTTLS қолданылуы мүмкін.