POP3

POP3
Polecane artykuły

POP3 (ang. Post Office Protocol) – standard protokołu internetowego służącego do wyodrębnienia i pobrania wiadomości e-mail ze zdalnego serwera poczty, w celu uzyskania do nich dostępu na komputerze lokalnym. Protokół zapewnia odbiór poczty nadchodzącej, a także wymienienie się informacjami między użytkownikiem a serwerem. Umożliwia także komunikacje między klientem a serwerem, oraz przechowuje wiadomości na serwerze internetowym, jeżeli w kliencie poczty np.: MS OUTLOOK zaznaczona jest opcja "Pozostaw wiadomości na serwerze". Protokół ten powstał z myślą o użytkownikach niemających stałego połączenia z Internetem, ponieważ mogą oni pobrać wiadomości z serwera przez klienta poczty np. MS OUTLOOK i w trybie Offline mieć dostęp do swoich wiadomości e-mail. Jednak protokół ten ma wiele ograniczeń:

  • połączenie jest realizowane tylko na czas kiedy użytkownik pobiera pocztę, nie może zostać uśpione,
  • każdy list musi być pobierany razem z załącznikami i żadnej jego części nie można w łatwy sposób pominąć – istnieje co prawda komenda top, ale pozwala ona jedynie określić przesyłaną liczbę linii od początku wiadomości,
  • wszystkie odbierane listy trafiają do jednej skrzynki, nie da się utworzyć ich kilku,
  • serwer POP3 nie potrafi sam przeszukiwać czekających w kolejce listów. [1]

Numery portów serwera:

  • POP3 - 110
  • POP3s - 995
  • SMTP - 25
  • SMTPs - 465

Rodzaje protokołów POP

Dotychczasowo rozróżniamy 3 typy protokołów POP:

  • POP1 - Wymagający protokołu SMTP, czyli "serwer poczty wychodzącej".
  • POP2 - Wymagający protokołu SMTP, czyli "serwer poczty wychodzącej".
  • POP3 - Niepotrzebujący protokołu SMTP.

Korzystanie z protokołu POP

Aby korzystać z POP3, należy się najpierw upewnić, czy firma obsługująca naszą skrzynkę oraz program, którego chcemy używać do odczytania poczty, zapewniają tę usługę. Jeśli tak, to do konfiguracji programu muszą być dostępne (na stronie WWW usługodawcy lub w umowie) następujące informacje:

  • nazwa serwera poczty przychodzącej (POP3) i nazwa użytkownika na tym serwerze – abyśmy mogli czytać pocztę,
  • nazwa serwera poczty wychodzącej i (zwykle, ale nie zawsze) nazwa użytkownika na tym serwerze – abyśmy mogli pocztę wysyłać,
  • adres e-mail – aby trafiały do nas odpowiedzi,
  • hasło.

Dokumenty RFC związane z POP3

RFC (ang. Request for Comments) – zbiór dokumentów technicznych i organizacyjnych mających formę memorandum związanych z Internetem oraz sieciami komputerowymi.[2] Dokumenty RFC związane z protokołem POP3:

  • RFC 1939 – Post Office Protocol – Version 3,
  • RFC 2449 – POP3 Mechanizm Rozszerzania,
  • RFC 1734 – Polecenia uwierzytelniania POP3 AUTH,
  • RFC 2222 – Uwierzytelnianie SASL,
  • RFC 3206 – Kody błędów SYS oraz AUTH POP. [3]

Sesja POP3

Podczas sesji wykorzystującej protokół POP3 możemy wyróżnić trzy stany:

  • autoryzacji - sesja wchodzi w ten stan w chwili gdy klient otrzyma pozdrowienie od serwera. Klient teraz musi podać swoje dane (nazwa skrzynki i hasło) niezbędne do identyfikacji go przez serwer.
  • Stan transakcji - po zalogowaniu się klienta i otwarciu przez serwer jego skrzynki sesja wchodzi w stan transakcji. Od tej chwili klient może wydawać komendy serwerowi. Po każdej z nich serwer musi przesłać odpowiedź.
  • Stan aktualizacji - kiedy klient wydaje komendę wyjścia ze stanu transakcji (QUIT) sesja wchodzi w stan aktualizacji (UPDATE). Warto zauważyć, że gdy klient wywołuje komendę QUIT w stanie autoryzacji, sesja zostaje zatrzymana, ale nie wchodzi w stan aktualizacji (UPDATE). Stanowi to pewnego rodzaju zabezpieczenie przed przypadkowym usunięciem lub też zmienianiem zawartości skrzynki.

Sytuacje wyjątkowe takie jak reset komputera, czy też chwilowy brak zasilania nie zmieniają zawartości skrzynki pocztowej klienta POP3 – wiadomości są nadal możliwe do odczytania w normalny sposób po ponownym zalogowaniu się.

Komendy wyróżniane w poszczególnych stanach sesji.

Komendy dostępne w stanie autoryzacji:
  • USER name - służy do podania nazwy skrzynki klienta
  • PASS string - służy do podania hasła klienta. String to ciąg znaków mogących posiadać spację.
  • QUIT - pozwala na wyjście z sesji w jej początkowej fazie
Komendy dostępne w stanie transakcji:
  • STAT – pokazuje zawartość skrzynki. W odpowiedzi serwer przesyła linię: S: +OK. nn mm, gdzie nn oznacza liczbę wiadomości w skrzynce, a mm oznacza wielkość wszystkich wiadomości w skrzynce wyrażoną w oktetach.
  • LIST msg – wylistowuje zawartość skrzynki. Gdy nie podamy żadnych parametrów serwer odpowiada S: +OK. 2 messages (320 octets). Gdy podamy parametr, który oznacza numer wiadomości serwer może odpowiedzieć np.: S: +OK. 2 200 (co oznacza, że wiadomość nr 2 ma wielkość 200 oktetów, gdzie 1 oktet = 8bitów)
  • RETR msg – przesłanie wiadomości o numerze msg do klienta w celu jej odczytania
  • DELE msg – zaznaczenie wiadomości nr msg do usunięcia np.: C:DELE 1 S: +OK message 1 deleted
  • NOOP – serwer nic nie robi tylko przesyła pozytywną odpowiedź (+OK)
  • RSET – jeśli jakieś wiadomości zostały oznaczone przez serwer jako "deleted” po wydaniu tej komendy zostają odznaczone np.: C: RSET S:+OK. maildrop has 2 messages (320 octets) [4]

Przykładowa sesja POP3

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 2 320
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
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> [5]

Przypisy

  1. POP3 - Wikipedia
  2. RFC Wikipedia
  3. POP3 - Wikipedia
  4. Garski J., Krzymień Ł. (2000) Protokoły pocztowe – POP3 Politechnika Poznańska, Poznań
  5. Myers J., Rose M. (1996) - Post Office Protocol - Version 3 RFC 1939, s. 19

Bibliografia

Autor: Mateusz Woźniak, Karol Madej