IMAP

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 1. elokuuta 2018 tarkistetusta versiosta . tarkastukset vaativat 47 muokkausta .
IMAP
Nimi Internet Message Access Protocol
Taso ( OSI-mallin mukaan ) Sovellettu
Perhe TCP / IP
Luotu vuonna 1986
Portti/ID 143/ TCP , 993/TCP (IMAP yli SSL)
Protokollan tarkoitus Pääsy postilaatikoihin
Erittely RFC 3501
Tärkeimmät toteutukset (asiakkaat) MUA ( Outlook Express , Opera , Mozilla Thunderbird , The Bat!, Claws Mail , mutt jne.)
Ydintoteutukset ( palvelimet ) UW IMAP , Courier , Cyrus , Dovecot

IMAP ( Internet Message Access Protocol ) on sovelluskerroksen protokolla sähköpostin käyttämiseen . 

Se perustuu TCP - siirtoprotokollaan ja käyttää porttia 143, kun taas IMAPS (IMAP over SSL ) käyttää porttia 993. IMAP toimii vain viestien kanssa eikä vaadi paketteja erityisillä otsikoilla [1] .

IMAP tarjoaa käyttäjälle runsaasti mahdollisuuksia työskennellä sähköpostipalvelimella olevien postilaatikoiden kanssa . Tätä protokollaa käyttävä sähköpostiohjelma käyttää palvelimen kirjeenvaihtomuistia ikään kuin tämä kirjeenvaihto sijaitsisi vastaanottajan tietokoneessa . Sähköposteja voidaan käsitellä käyttäjän tietokoneelta ( asiakkaalta ) ilman , että sähköpostien koko sisältö lähetetään jatkuvasti edestakaisin palvelimelta .

SMTP -protokollaa käytetään yleensä viestien lähettämiseen , koska alkuperäinen IMAP-lähetyskomento, nimeltään APPEND, ei sisällä mekanismia palvelutietojen siirtoon [1] .

Postilaatikoiden (kansioiden) nimissä , joissa on ASCII -alueen ulkopuolisia merkkejä , käytetään UTF-7- koodauksen muokattua versiota [1] .

IMAP-protokollan tarkoitus

IMAP-protokolla on vaihtoehto POP :lle , jolla on alkeelliset lähetysominaisuudet.

POP -protokollan ensimmäisessä versiossa oli useita puutteita, joista vakavin oli puute hallita viestien liikkumista ja tallentamista palvelimelle. POP : ssa viestit ladataan sähköpostipalvelimelta kerralla, minkä jälkeen ne poistetaan palvelimelta, eli vastaanotettavia viestejä ei voi valita.

Ratkaisekseen POP :n tähän ominaisuuteen liittyvät ongelmat vuonna 1986 Mark Crispin ( eng.  Mark Crispin ), joka työskenteli silloin Stanfordin yliopistossa , loi uuden protokollan sähköpostin vastaanottamiseksi palvelimelta [2] .

Uusi protokolla mahdollisti sen, että käyttäjät voivat vastaanottaa sähköpostia useaan paikkaan samasta postilaatikosta. Käyttäjällä on mahdollisuus hallita viestejä postilaatikossaan ja lisätoimintoja postilaatikoiden huoltoon palvelimella.

Jatkossa POP -protokolla viimeisteltiin, POP3 :ssa (POP versio 3) on mahdollista vastaanottaa valittuja viestejä palvelimelta ja jättää valitut viestit palvelimelle. Uusimmissa IMAP- ja POP -versioissa suurin ero käyttäjän kannalta on se, että IMAP4 voi käyttää palvelimen eri postikansioissa olevia kirjaimia ja siirtää kirjaimia niiden välillä, kun taas POP3 käyttää palvelimella olevia kirjaimia lineaarisessa luettelossa olevien numeroiden perusteella (eli se toimii vain yhden postikansion kanssa).

IMAP-protokollan versiot [2]

Edut POP3:een verrattuna

Käytettäessä POP3 :a asiakas muodostaa yhteyden palvelimeen vain sen ajan, joka kuluu uusien viestien lataamiseen. IMAP-protokollaa käytettäessä yhteyttä ei katkaista käyttöliittymän ollessa aktiivinen, ja viestit ladataan vain asiakkaan pyynnöstä. Tämä lyhentää niiden käyttäjien vastausaikaa , joiden postilaatikoissa on paljon suuria viestejä.

POP - protokolla edellyttää, että nykyinen asiakas on ainoa, joka on kytketty laatikkoon. IMAP mahdollistaa useiden asiakkaiden pääsyn postilaatikkoon samanaikaisesti ja antaa asiakkaalle mahdollisuuden seurata muiden samaan aikaan yhdistettyjen asiakkaiden tekemiä muutoksia.

IMAP4:ssä määritellyn lippujärjestelmän ansiosta asiakas voi seurata viestin tilaa (luettu, vastattu, poistettu jne.); lipputiedot tallennetaan palvelimelle.

IMAP4-asiakkaat voivat luoda, nimetä uudelleen ja poistaa postilaatikoita ja siirtää viestejä postilaatikoiden välillä. Vaihtoehtoisesti voit käyttää "IMAP4 Access Control List ( ACL ) Extension -laajennusta" ( RFC 4314 ) hallitaksesi postilaatikon käyttöoikeuksia.

Viestit etsitään palvelimen puolelta.

IMAP4:ssä on selkeä laajennusmekanismi. [3]

Viestit ja niiden attribuutit

IMAP toimii vain viestien kanssa eikä vaadi paketteja erityisillä otsikoilla. Jokaiseen viestiin liittyy useita attribuutteja. Nämä attribuutit voidaan määrittää yksittäin tai yhdessä muiden attribuuttien kanssa.

UID

Jokaiselle viestille on määritetty 32-bittinen koodi , joka, kun sitä käytetään yhdessä yksilöllisen tunnisteen kanssa, muodostaa 64-bittisen sekvenssin, joka takaa viestin yksilöllisen tunnistamisen postilaatikossa. Mitä myöhemmin viesti saapui, sitä suurempi on sen UID.

UID liitetään postilaatikkoon ja lähetetään uidvalidity (ok) -vastauskoodina postilaatikon valintavaiheessa. Jos edellisen istunnon UID: tä ei jostain syystä voida käyttää, UID:tä on lisättävä.

Viestin UID ei saa muuttua istunnon aikana eikä se saa vaihtua istunnosta toiseen. Jos viestin UID:tä ei kuitenkaan ole mahdollista tallentaa seuraavassa istunnossa, jokaisella myöhemmällä istunnolla on oltava uusi yksilöllinen tunnistekoodi, jonka on oltava suurempi kuin minkä tahansa aiemmin käytetyn UID:n.

Viestin järjestysnumero

Postilaatikossa olevan viestin järjestysnumero alkaa numerosta 1. Jokaisella viestillä toisesta alkaen on järjestysnumero, joka on täsmälleen 1 suurempi kuin sitä edeltävä.

Viestin järjestysnumeron muuttaminen istunnon aikana on sallittua. Esimerkiksi kun viesti poistetaan postilaatikosta, kaikkien seuraavien viestien numerot muuttuvat.

Viestiliput

Tämä attribuutti on luettelo nollasta tai useammasta nimetystä tunnisteesta , jotka liittyvät annettuun viestiin. Lippu asetetaan lisäämällä se tähän luetteloon ja nollataan poistamalla se. IMAP 4.1:ssä on kahdenlaisia ​​lippuja. Lippu voi olla pysyvä tai aktiivinen vain tämän istunnon ajan.

Järjestelmälippu on lippu, jonka nimi on määritetty protokollamäärityksessä. Kaikki järjestelmäliput alkavat kirjaimella \.

Seuraavat järjestelmäliput on tällä hetkellä määritetty:

Viestin sisäinen päivämäärä ja kellonaika palvelimella

Viestin vastaanottoaika ja -päivämäärä. Jos viesti toimitettiin SMTP-protokollan kautta  , toimituspäivämäärä ja -aika lopulliseen määränpäähän. Kopioi-komennolla toimitetuille viesteille viestin lähettäjän sisäinen päivämäärä ja kellonaika. Käytettäessä komentoa append , komennon parametrien määrittämä päivämäärä ja aika.

Muut attribuutit

Vuorovaikutus asiakkaan ja palvelimen välillä

IMAP 4.1 - yhteys edellyttää yhteyden muodostamista asiakkaan ja palvelimen välille . Asiakas lähettää komennot palvelimelle, palvelin lähettää asiakkaalle dataa ja ilmoituksia pyynnön tilasta. Kaikki viestit, sekä asiakas että palvelin, ovat merkkijonojen muodossa, jotka päättyvät erityisellä sekvenssillä.

Mikä tahansa toimenpide alkaa asiakkaan komennolla. Mikä tahansa asiakaskomento alkaa tunnisteetuliitteellä (yleensä lyhyt aakkosnumeerinen merkkijono, kuten , A0001jne. A0002), jota kutsutaan tunnisteeksi. Kullekin komennolle asiakas luo oman etiketin.

On kaksi tapausta, joissa asiakkaan lähettämä merkkijono ei edusta täydellistä komentoa. Ensimmäisessä komennon argumentti toimitetaan koodilla, joka määrittää merkkijonon oktettien määrän. Toisessa komennon argumentit vaativat vastauksen palvelimelta. Molemmissa tapauksissa palvelin lähettää komennon jatkopyynnön, joka alkaa merkillä +.

Asiakkaan on lähetettävä yksi komento ennen toisen lähettämistä.

Palvelimen protokollavastaanotin lukee asiakkaalta saadun komentojonon, jäsentää sen, poimii parametrit ja lähettää tiedot palvelimelle. Kun komento on valmis, palvelin lähettää vastauksen.

Palvelimen asiakkaalle lähettämät tiedot sekä tilavastaukset, jotka eivät osoita komennon valmistumista, ovat etuliitteitä * ja niitä kutsutaan merkitsemättömiksi vastauksiksi.

Palvelin voi lähettää tietoja asiakkaan komennon perusteella tai omasta aloitteestaan. Tietojen muoto ei riipu lähetyksen syystä.

Vastaus osoittaa toimenpiteen onnistumisen/epäonnistumisen. Se käyttää samaa nimiötä kuin toimenpiteen aloittanut asiakaskomento. Siten, jos useampi kuin yksi komento suoritetaan, palvelintunniste osoittaa komentoon, joka aiheutti vastauksen. Palvelimen lopetusvastauksia on kolmenlaisia: ok(onnistuminen), no(epäonnistuminen), bad(protokollavirhe, esim. komentoa ei tunnisteta tai syntaksivirhe havaittu).

IMAP 4.1 - asiakasprotokollan kuuntelija lukee vastausmerkkijonon palvelimelta ja ryhtyy toimiin ensimmäisen *tai merkin mukaan +.

Asiakkaan on oltava valmis ottamaan vastaan ​​kaikki vastaukset palvelimelta milloin tahansa. Palvelimen tiedot on kirjoitettava niin, että asiakas voi käyttää niitä suoraan lähettämättä hakupyyntöjä palvelimelle.

IMAP-palvelin tilaa

IMAP 4.1 -palvelin on yhdessä neljästä tilasta.

Useimpia komentoja voidaan käyttää vain tietyissä tiloissa.

Todentamattomassa tilassa asiakkaan on annettava käyttäjätunnus ja salasana, ennen kuin useimmat komennot ovat sen käytettävissä. Siirtyminen tähän tilaan tapahtuu, kun yhteys muodostetaan ilman edeltävää todennusta.

Todistetussa tilassa asiakas tunnistetaan ja hänen on valittava postilaatikko, jonka jälkeen viestien käsittelykomennot tulevat hänen saatavilleen. Siirtyminen tähän tilaan tapahtuu, kun muodostetaan yhteys esitodennuksen avulla , kun kaikki tarvittavat tunnistustiedot on annettu tai kun postilaatikko valitaan vahingossa.

Järjestelmä siirtyy valintatilaan , kun postilaatikko on valittu onnistuneesti.

Järjestelmä siirtyy poistumistilaan , kun yhteys katkeaa asiakkaan pyynnöstä tai palvelimen itsenäisen päätöksen seurauksena.

  1. Yhteys ilman ennakkotodennusta
  2. Yhteys esitodennuksen kanssa
  3. Yhteys hylätty
  4. Komennon onnistunut suorittaminen LOGINtaiAUTHENTICATE
  5. Komennon onnistunut suorittaminen SELECTtaiEXAMINE
  6. Komennon suoritus CLOSEtai epäonnistunut komento SELECTtaiEXAMINE
  7. Komennon suorittaminen LOGOUT, palvelimen sulkeminen tai yhteyden katkaiseminen

IMAP-protokollan komennot

KIRJAUDU SISÄÄN Antaa asiakkaan käyttää käyttäjätunnusta ja salasanaa pelkkänä tekstinä kirjautuessaan IMAP-palvelimeen. Tämä ei ole paras tapa, mutta joskus se on ainoa tapa muodostaa yhteys palvelimeen. TUNNISTA Antaa asiakkaan käyttää vaihtoehtoisia todennusmenetelmiä rekisteröityessään IMAP-palvelimeen. Yksittäisen käyttäjän todennus on valinnainen, eikä kaikki IMAP-palvelimet tue sitä. Lisäksi tällaisen tarkistuksen toteutus voi vaihdella palvelimen mukaan. Kun asiakas antaa komennon AUTHENTICATE, palvelin vastaa base64 -koodatulla kutsumerkkijonolla . Seuraavaksi asiakkaan on lähetettävä vastaus palvelimen todennushaasteeseen, myös base64-koodattu. Jos palvelin ei tue asiakkaan ehdottamaa todennusmenetelmää, se sisällyttää vastaukseensa sanan NO. Asiakkaan on tämän jälkeen jatkettava neuvotteluja todennusmenetelmästä. Jos kaikki yritykset määrittää todennusmenetelmä ovat epäonnistuneet, asiakas yrittää rekisteröityä palvelimelle käyttämällä LOGIN. KIINNI Sulkee postilaatikon. Kun postilaatikko suljetaan tällä komennolla, lipulla merkityt viestit \DELETEDpoistetaan postilaatikosta. Ei ole vaihtoehtoja. KIRJAUTUA ULOS Lopettaa istunnon nykyiselle käyttäjätunnukselle. LUODA Luo uuden postilaatikon. Uusien postilaatikoiden nimet ja sijainnit määräytyvät palvelimen yleisten määritysten mukaan. POISTAA Koskee postilaatikoita. Vastaanotettuaan tämän komennon IMAP-palvelin yrittää poistaa postilaatikon, jonka nimi on määritetty komennon argumentiksi. Viestit poistetaan postilaatikoiden kanssa, eikä niitä voi palauttaa. NIMEÄ UUDELLEEN Muuttaa postilaatikon nimen . Tällä komennolla on kaksi parametria - sen postilaatikon nimi, jonka haluat nimetä uudelleen, ja uuden postilaatikon nimi. TILAA Lisää postilaatikon asiakkaan aktiivisten postilaatikoiden luetteloon. Ainoa tässä komennossa käytetty parametri on listattavan postilaatikon nimi. Postilaatikkoa ei tarvitse olla olemassa, jotta se voidaan lisätä aktiivisten postilaatikoiden luetteloon - tämän avulla voit lisätä postilaatikoita, joita ei ole vielä luotu, aktiivisten postilaatikoiden luetteloon tai poistaa ne, jos ne ovat tyhjiä. LOPETA TILAUS Poistaa postilaatikot aktiivisesta luettelosta. Se käyttää myös yhtä parametria - postilaatikon nimeä, joka poistetaan asiakkaan aktiivisten postilaatikoiden luettelosta . Itse postilaatikkoa ei kuitenkaan poisteta. LISTA Hanki luettelo kaikista asiakaspostilaatikoista; on kaksi parametria. LSUB Toisin kuin komento LIST, sitä käytetään saamaan luettelo komennon aktivoimista postilaatikoista SUBSCRIBE. Parametrit ovat samat kuin LIST. TILA Luo kyselyn postilaatikon nykyisestä tilasta. Tämän komennon ensimmäinen parametri on sen postilaatikon nimi, jota se koskee. Toinen parametri on luettelo kriteereistä, joiden mukaan asiakas haluaa saada tietoa. Komennolla STATUSvoidaan saada tietoa postilaatikon tilasta avaamatta sitä komennoilla SELECTtai EXAMINE. Käyttäjä voi saada tietoa kriteerien mukaan: LISÄÄ Liittää viestin määritetyn postilaatikon loppuun. Argumentteja ovat postilaatikon nimi, viestin liput (valinnainen), aikaleima (valinnainen) ja itse viesti - otsikko ja teksti. Seuraavat viestiliput ovat käytettävissä: Jos komennossa on määritetty liput, ne asetetaan lisätylle viestille. Kummassakin tapauksessa lippu on asetettu viestille \Recent. Jos komennossa on määritetty aikaleima, tämä aika asetetaan viestin luomisajaksi, muuten nykyinen aika otetaan luomisajaksi. Koska viesti ei ole yksirivinen, käytetään literaaleja . Esimerkki: C A003 LISÄÄ tallennetut viestit (\Nähdetty) {247} S + Valmis kirjaimelliseen dataan C Päivämäärä: Ma, 7. helmikuuta 1994 21:52:25 -0800 (PST) C Lähettäjä: Fred Foobar <[email protected]> Aihe: iltapäiväkokous C Vastaanottaja: [email protected] C Viesti-Id: <[email protected]> C C Hei Joe, voimmeko tavata huomenna klo 15.30? S A003 OK APPEND valmis RFC 3502MULTIAPPEND :ssa kuvattu , sallii yhden komennon lisätä useita viestejä postilaatikkoon. TARKISTAA Asettaa tarkistuspisteen postilaatikkoon. Kaikki toiminnot, kuten esimerkiksi tietojen kirjoittaminen palvelimen muistista sen kiintolevylle , on suoritettava, kun postilaatikko on asianmukaisessa tilassa. Komentoa käytetään postilaatikon eheyden tarkistamiseen levyn ja muiden vastaavien toimintojen jälkeen CHECK. Tätä komentoa käytetään ilman parametreja. PYYHKIÄ Poistaa kaikki lipulla merkityt viestit \DELETEDpostilaatikosta sulkematta postilaatikkoa. Palvelimen vastaus komentoon EXPUNGEon raportti postilaatikon uudesta tilasta. HAE Etsii viestejä aktiivisesta postilaatikosta ehtojen mukaan ja näyttää sitten tulokset viestin numerona. On mahdollista etsiä viestejä, joiden rungossa on tietty tekstimerkkijono tai joissa on tietty lippu tai jotka on vastaanotettu ennen tiettyä päivämäärää jne. FETCH Hanki sähköpostiviestin teksti. Komentoa käytetään vain viestien näyttämiseen. Toisin kuin POP3 , IMAP-asiakasohjelma ei tallenna kopiota viestistä asiakastietokoneeseen . KAUPPA Muuttaa viestin tietoja. KOPIO Kopioi viestit postilaatikosta toiseen. UID Käytetään yhdessä komentojen FETCH, COPYtai STOREkanssa SEARCH. Sen avulla nämä komennot voivat käyttää oikeita UID-tunnuksia viestinumeroiden numerosarjan sijaan. KYKY Pyydä IMAP-palvelimelta tietoja sen ominaisuuksista. NOOP Joukkue ei tee mitään. Sitä voidaan käyttää pitämään istunto hengissä, jotta istuntoa ei aikakatkaise aikakatkaisuajastin. Palvelimen vastauksen komentoon NOOPtulee aina olla myönteinen. Koska palvelin usein palauttaa vastauksessa tietyn komennon suorittamisen tilan, NOOPsitä voidaan käyttää käynnistimenä palvelimen tilaa koskevalle säännölliselle kyselylle.

Kirjallisuus

Linkit

Muistiinpanot

  1. 1 2 3 Semenov, 2014 .
  2. 12 Washingtonin yliopisto .
  3. Mitä eroa on POP:lla ja IMAP:lla?  (venäjäksi)  ? . support.microsoft.com . Haettu 19. heinäkuuta 2021. Arkistoitu alkuperäisestä 19. heinäkuuta 2021.