Направо към съдържанието

Post Office Protocol

от Уикипедия, свободната енциклопедия

Post Office Protocol е протокол за извличане на получена електронна поща от e-mail сървър върху клиентски компютър. Текущата версия на протокола е 3 и затова често той се обозначава със съкращението POP3 (Post Office Protocol, version 3).

Инициирането на връзката се извършва от клиентския компютър и инсталирания на него софтуер най-често наричан клиент за електронна поща, чрез който се четат получените съобщения. Протоколът позволява управление на съхраняваните съобщения, като те могат да се изтриват от сървъра след изтегляне, или да останат и да бъдат повторно изтегляни. Последното дава защита от повреда на клиентския компютър, както и възможност за четене на обща поща от няколко компютъра. С конфигурирането на клиента потребителят избира дали писмата да остават на сървъра, или да бъдат изтрити след изтеглянето си.

POP3 се поддържа от всички съвременни клиенти за електронна поща — като Outlook Express, Outlook, Eudora, Mozilla Thunderbird и т.н.

Еднопосочният обмен изисква употребата на друг протокол за изпращане на изходящите съобщения, и най-често това е SMTP. През последните няколко години все повече се налага използването на протокола IMAP, който е по-нов от POP3 и позволява двупосочен обмен на поща със сървъра. Използването му от своя страна позволява забрана на изходящата поща по SMTP от клиентските станции и използването на SMTP само за обмен между сървъри (основното му предназначение), с което се намалява възможността за изпращане на нежелана поща (спам). Повечето доставчици на услуги за електронни пощи (на английски: webmail services), като Gmail и Yahoo! Mail поддържат едновременно POP3 и IMAP.

POP поддържа прости заявки от тип „изтегли и изтрий“ за достъп до отдалечени пощенски кутии. Въпреки че повечето POP клиенти дават възможност пощата да остане на сървъра след изтегляне, типичният клиент за електронна поща, използващ протокола POP, обикновено се свързва със сървъра, извлича всички съобщения, записва ги на клиентския компютър като нови съобщения, изтрива ги от сървъра и прекъсва връзката. Други протоколи, най-вече IMAP, предоставят по-цялостен и сложен отдалечен достъп до типични пощенски операции. Много клиенти за електронна поща поддържат изтеглянето на съобщения с POP и IMAP, но малко доставчици на Интернет услуги поддържат IMAP.

POP3 сървърът слуша на порт 110. POP3 заявка за криптирана връзка се подава или след инициализиране на протокола с командата STLS, ако е поддържана от POP3S, който се свързва със сървъра чрез TLS(Transport Layer Security), или SSL (Secure Sockets Layer) през TCP порт 995.

Наличните съобщения към клиента се фиксират, когато POP сесия създаде връзка със сървъра. Всяко съобщение се идентифицира от номер, валиден за текущата сесия, или от уникален идентификатор, даден на съобщението от POP сървъра и валиден в различни POP сесии. Пощата се изтегля и се маркира за изтриване по номера на съобщението. Когато клиентът излезе от сесията, сървърът изтрива от пощенската кутия всички маркирани писма.

Основното предимство на сървърите с POP3 протокол е бързото прехвърляне на големи количества електронни писма. Фактът, че изтеглената поща се изпраща веднага към компютъра, означава, че потребителят може да я архивира за по-късно разглеждане или да запише на компютъра си по-важната част от нея. Освен това, тъй като връзката с POP3 сървъра не е постоянна, основният трафик може да бъде използван за други дейности, например сърфиране в Интернет.

От съхраняването на изтеглените съобщения в компютъра на клиента произлиза един малък недостатък. Ако програмата, използвана на клиентския компютър, обяви дадено съобщение за изтеглено от сървъра, то негови копия не оцеляват под никаква форма (не остават никакви архиви). Ако нещо се случи на писмото, например повреда при прехвърляне или случайно изтриване, то ще бъде изгубено безвъзвратно.

Спецификацията на протокола POP (POP1) е описана подробно в RFC 918 (1984), а на POP2 — в RFC 937 (1985). Първоначалната спецификация на POP3 е била изнесена в RFC 1081 (1988). Сегашната му спецификация се намира в RFC 1939, обновена с допълващ механизъм в RFC 2449 и механизъм за проверка на самоличността в RFC 1734.

POP2 използва порт 109.

Метод за разширения е бил предложен в RFC 2449, за да позволи използването на основни разширения и да предложи по организиран начин поддръжка за допълнителни команди, като TOP и UIDL. Спецификацията не поощрява разширенията, тъй като основната роля на протокола POP3 е да предоставя проста поддръжка на заявки „изтегли и изтрий“ при работа с електронна поща.

Разширенията са дефинирани възможности, които могат да се изведат списъчно чрез командата CAPA. Всички допълнителни команди освен APOP са включени в първоначалния набор от възможности. По примера на ESMTP(RFC5321) имената на локалните команди започват с Х.

Разширението STARTTLS позволява използването на TLS(Transport Layer Security) или SSL (Secure Sockets Layer), като този избор може да бъде определен чрез командата STLS на стандартния POP3 порт. Вместо това някои клиенти и сървъри използват алтернативен порт — TCP порт 995 (POP3S).

Demon Internet въвежда разширения към POP3, позволяващи множество акаунти на един домейн — възможност, станала известна под името Standard Dial-up POP3 Service (SDPS). За да има достъп до всеки акаунт, потребителското име включва и името на хоста (например john@hostname или john+hostname). Приложенията за Google използват същия метод.

S: <wait for connection on TCP port 110>
C: <open connection>
S:    +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
C:    APOP mrose c4c9334bac560ecc979e58001b3e22fb
S:    +OK mrose's maildrop has 2 messages (320 octets)
C:    STAT
S:    +OK  2320
C:    LIST
S:    +OK 2 messages (320 octets)
S:     1120
S:     2200
S:    .
C:    RETR 1
S:    +OK 120 octets
S:    <the POP3 server sends message 1>
S:    .
C:    DELE 1
S:    +OK message 1 deleted
C:    RETR 2
S:    +OK 200 octets
S:    <the POP3 server sends message 2>
S:    .
C:    DELE 2
S:    +OK message 2 deleted
C:    QUIT
S:    +OK dewey POP3 server signing off (maildrop empty)
C:  <close connection>
S:  <wait for next connection>

Сървъри без допълнителната команда APOP очакват потребителят да се включи с команди за потребителско име и парола.

C:    USER mrose
S:    +OK User accepted
C:    PASS tanstaaf
S:    +OK Pass accepted