POP3 | |
---|---|
název | Poštovní protokol 3 |
Úroveň (podle modelu OSI ) | Aplikovaný |
Rodina | TCP/IP |
Port/ID | 110/TCP, 995/TCP (POP přes SSL) |
Účel protokolu | Příjem e-mailu |
Specifikace | RFC 1939 / STD 53 |
Hlavní implementace (klienti) | MUA ( MS Outlook , Mozilla Thunderbird , The Bat!, KMail , Claws Mail , mutt atd .) |
Implementace jádra ( servery ) | Qpopper , MS Exchange Server , CommuniGate Pro , Mail Daemon , Dovecot |
Rozšiřitelnost | Přidat. příkazy ( RFC 2449 ) |
POP3 ( Post Office Protocol verze 3 - Post Office Protocol , verze 3) je standardní internetový protokol aplikační vrstvy používaný e-mailovými klienty k přijímání pošty ze vzdáleného serveru přes připojení TCP .
POP a IMAP (Internet Message Access Protocol) jsou nejběžnější internetové protokoly pro načítání pošty. Téměř všichni moderní e-mailoví klienti a servery podporují oba standardy. Protokol POP byl vyvinut v několika verzích, současným standardem je třetí verze (POP3). Většina poskytovatelů e-mailu (jako je Hotmail , Gmail a Yahoo! Mail) také podporuje IMAP a POP3. Předchozí verze protokolu (POP, POP2) jsou zastaralé.
Alternativní protokol pro sběr zpráv z poštovního serveru je IMAP .
POP podporuje jednoduché požadavky na stahování a mazání pro přístup ke vzdáleným poštovním schránkám. Zatímco většina klientů POP poskytuje možnost ponechat poštu na serveru po stažení, klienti POP se obvykle připojují, načítají veškerou poštu, ukládají ji v počítači uživatele jako nové zprávy, odstraní ji ze serveru a poté se odpojí.
Jiné protokoly, jako je IMAP, poskytují úplnější a komplexnější vzdálený přístup k typickým operacím poštovní schránky. Mnoho e-mailových klientů podporuje POP i IMAP; mnohem méně poskytovatelů internetových služeb však podporuje protokol IMAP.
Server POP3 naslouchá na známém portu 110. Šifrování komunikace pro POP3 je požadováno po spuštění protokolu buď příkazem STLS (pokud je podporován) nebo POP3S, který se k serveru připojí pomocí TLS nebo SSL na portu TCP 995.
Dostupné klientské zprávy jsou zachyceny, když je poštovní schránka otevřena relací POP, a jsou určeny počtem zpráv pro relaci nebo volitelně jedinečným identifikátorem přiřazeným zprávě serverem POP. Tento jedinečný identifikátor je trvalý a jedinečný pro poštovní schránku a umožňuje klientovi přistupovat ke stejné zprávě v různých relacích POP. Pošta je načtena a označena ke smazání pomocí čísla zprávy. Když se klient odhlásí z relace, označené zprávy jsou z poštovní schránky odstraněny.
POP (POP1) je definován v RFC 918 (1984), POP2 v RFC 937 (1985). Původní specifikace POP3 byla poskytnuta v RFC 1081 (1988). Ten současný je popsán v RFC 1939 , aktualizovaný o mechanismus rozšíření ( RFC 2449 ) a mechanismus ověřování ( RFC 1734 ).
Verzi POP2 byl přiřazen port 109.
Původní specifikace POP3 podporovala pouze nešifrovaný mechanismus přihlášení USER/ PASS nebo řízení přístupu .rhosts . POP3 v současné době podporuje různé metody autentizace , které poskytují různé úrovně ochrany proti neoprávněnému přístupu k uživatelské poště. Většina z nich je poskytována mechanismy rozšíření POP3. Klienti POP3 podporují metody SASL prostřednictvím rozšíření AUTH. V rámci projektu MIT Athena byla také představena metoda založená na Kerberos . RFC 1460 zavedl APOP do základního protokolu. APOP je protokol požadavku/odpovědi , který používá hashovací funkci MD5 . Mezi klienty implementující APOP patří Mozilla Thunderbird , Opera Mail , Eudora , Windows Live Mail, PowerMail, Apple Mail atd.
Byl učiněn neformální návrh na specifikaci „POP4“ s implementací fungujícího serveru. Tento návrh přidal základní funkce správy složek, podporu vícedílných zpráv a správu příznaků zpráv. V „POP4“ však od roku 2003 nedošlo k žádnému pokroku.
Mechanismus rozšíření byl navržen v RFC 2449 , aby vyhovoval novým rozšířením, stejně jako organizované oznámení o podpoře volitelných příkazů, jako je TOP a UIDL. RFC neměly v úmyslu podporovat rozšíření a potvrdily, že role POP3 je poskytovat jednoduchou podporu hlavně pro požadavek stahování a mazání.
Rozšíření jsou uvedena u příkazu CAPA. S výjimkou APOP byly všechny volitelné příkazy zahrnuty do původní sady funkcí. Stejně jako u standardu ESMTP ( RFC 5321 ) jsou schopnosti začínající na „X“ místní.
Rozšíření STARTTLS umožňuje používat TLS (Transport Layer Security) nebo SSL (Secure Sockets Layer) ke komunikaci pomocí příkazu STLS přes standardní POP3 port. Někteří klienti a servery používají metodu alternativního portu, která funguje na portu TCP 995 (POP3S).
Britský poskytovatel Demon Internet představil rozšíření POP3, které umožňovalo více účtů na doménu, známé jako SDPS (Standard Dial-up POP3 Service). Pro přístup ke každému účtu obsahuje uživatelské jméno název hostitele, například jan@hostname nebo jan+hostname.
Google Apps používá stejnou metodu [1] .
Klienti, kteří nechávají poštu na serverech, obvykle používají příkaz UIDL k získání aktuální korespondence mezi počtem zpráv a zprávou danou jejím jedinečným identifikátorem. Identifikátor je libovolný a lze jej opakovat, pokud jsou ve schránce stejné zprávy. Naproti tomu IMAP používá 32bitový jedinečný identifikátor (UID), který je zprávám přiřazován ve vzestupném (ale ne nutně po sobě jdoucím) pořadí, jak jsou přijímány. Při načítání nových zpráv klienti IMAP požadují UID větší, než je nejvyšší hodnota UID ze všech dříve načtených zpráv, zatímco klient POP si musí vybrat z celé mapy UIDL. U velkých poštovních schránek to může vyžadovat značné zpracování.
MIME slouží jako standard pro přílohy a ne-ASCII text v elektronických zprávách. Zatímco POP3 ani SMTP nevyžadují zprávu ve formátu MIME, v podstatě všechny zprávy, které nejsou ASCII, přicházejí ve formátu MIME, takže klienti POP musí také „rozumět“ MIME a používat je. IMAP podle definice přijímá zprávy ve formátu MIME.
V protokolu POP3 existují 3 stavy relace:
Povolení Klient projde Autentizační procedurou . transakce Klient dostává informace o stavu schránky, přijímá a maže poštu. Aktualizace Server odstraní vybrané e-maily a uzavře spojení.název | Argumenty | Omezení | Možné odpovědi |
---|---|---|---|
APOP | [jméno] [shrnutí] | Její podpora je volitelná. | * +OK maildrop má n zpráv * -ERR heslo zadané pro [jméno] je nesprávné |
UŽIVATEL | [název] | — | * +OK jméno je platná poštovní schránka * -ERR nikdy neslyšel o názvu poštovní schránky |
SLOŽIT | [Heslo] | Funguje po úspěšném přenosu názvu poštovní schránky | * +OK maildrop uzamčen a připraven * -ERR neplatné heslo * -ERR nelze zamknout maildrop |
DELE | [zpráva] | Dostupné po úspěšné autentizaci | * Zpráva +OK smazána * -ERR žádná taková zpráva |
SEZNAM | [zpráva] | Dostupné po úspěšné autentizaci | * Následuje výpis skenování +OK * -ERR žádná taková zpráva |
NEOP | — | Dostupné po úspěšné autentizaci | + OK |
RETR | [zpráva] | Dostupné po úspěšné autentizaci | * Následuje zpráva +OK * -ERR žádná taková zpráva |
RSET | — | Dostupné po úspěšné autentizaci | + OK |
STAT | — | Dostupné po úspěšné autentizaci | + OK ab |
HORNÍ | [zpráva] [počet řádků] | Dostupné po úspěšné autentizaci | * +OK n oktetů * -ERR žádná taková zpráva |
PŘESTAT | — | — | + OK |
Příkaz se používá k odeslání hash uživatelského jména a hesla (digest) na server.
[jméno] je řetězec, který určuje název poštovní schránky.
[digest] je hash součet časového razítka zřetězený s heslem uživatele, vypočítaný pomocí algoritmu MD5 . Pokud je tento příkaz podporován, časové razítko se získá při připojení k serveru.
Předá uživatelské jméno serveru.
[jméno] je řetězec, který určuje název poštovní schránky.
Odešle heslo poštovní schránky na server.
[heslo] - heslo k poštovní schránce.
Server označí zadanou zprávu ke smazání. Zprávy označené ke smazání se ve skutečnosti smažou až po uzavření transakce (transakce se obvykle uzavírají po odeslání příkazu QUIT, navíc např. na serverech lze transakce uzavřít po určité době nastavené serverem).
[zpráva] - číslo zprávy.
Pokud byl argument předán, server vrátí informace o zadané zprávě. Pokud argument nebyl předán, server vydá informace o všech zprávách v poštovní schránce. Zprávy označené ke smazání nejsou uvedeny.
[zpráva] - číslo zprávy (volitelný argument).
Server nic nedělá, vždy reaguje kladně.
Server odešle zprávu se zadaným číslem.
[zpráva] - číslo zprávy.
Tento příkaz vrátí zpět transakce v rámci relace. Pokud například uživatel omylem označil některé zprávy ke smazání, může tyto příznaky odstranit zadáním tohoto příkazu.
Server vrátí počet zpráv ve schránce a velikost schránky v oktetech. Zprávy označené jako smazané se nepočítají.
Server vrátí záhlaví zadané zprávy, prázdný řetězec a zadaný počet prvních řádků těla zprávy.
[zpráva] - číslo zprávy.
[počet řádků] - kolik řádků se má zobrazit.
Toto je příklad relace s podporou šifrovaného hesla ( APOP , RFC 1939 ):
S: <Server naslouchá příchozím připojením na portu 110> C: <připojování k serveru> S: + OK server POP3 připraven <1896.697170952@dbc.mtview.ca.us> C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mrose's maildrop má 2 zprávy (320 oktetů) C:STAT S: +OK 2 320 C: SEZNAM S: +OK 2 zprávy (320 oktetů) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 oktetů S: <server odešle zprávu 1> S: . C: DELE 1 S: +OK zpráva 1 smazána C: RETR 2 S: +OK 200 oktetů S: <server odešle zprávu 2> S: . C:DELE2 S: +OK zpráva 2 smazána C: KONEC S: +OK dewey POP3 server odhlašování (prázdná schránka) C: <zavře připojení> S: <pokračuje v čekání na příchozí spojení>Možnost spustit relaci, ve které je heslo přenášeno jako prostý text:
C: USER mrose S +OK Uživatel přijat C:PASSmroseheslo S+OK Pass přijatURI | Schémata|
---|---|
Oficiální | |
neoficiální |
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |