Usługi

Post Office Protocol (POP3)

Protokół odbioru e-mail do pobierania wiadomości z serwerów pocztowych.

1. Rola POP3 w Ekosystemie Poczty Elektronicznej

Post Office Protocol w wersji 3 (POP3) jest protokołem aplikacyjnym służącym do pobierania poczty elektronicznej z serwera. Prosty Protokół Transferu Poczty (SMTP) przenosi wiadomość od nadawcy do serwera pocztowego odbiorcy, natomiast POP3 udostępnia klientowi wiadomości zapisane w skrzynce.

POP3 działa w modelu klient-serwer. Aplikacja kliencka, znana jako , łączy się z serwerem pocztowym i pobiera wiadomości ze skrzynki użytkownika. Protokół zaprojektowano jako prosty mechanizm transferu poczty do lokalnego klienta.

2. Kluczowe Cechy Protokołu POP3

Projekt i zachowanie POP3 wynikają z prostego modelu dostępu do wiadomości przechowywanych na serwerze.

POP3 jest tekstowym protokołem działającym w ramach sesji TCP. Klient wysyła polecenia zakończone sekwencją CRLF, a serwer odpowiada statusem. Odpowiedzi wieloliniowe kończy osobna kropka. Polecenia STAT, LIST i RETR służą odpowiednio do sprawdzenia podsumowania skrzynki, listy rozmiarów oraz treści wiadomości. Polecenie DELE jedynie oznacza wiadomość w stanie transakcji, a trwałe usunięcie następuje podczas QUIT. Polecenie RSET może wycofać oznaczenia usunięcia w bieżącej sesji. Polecenie UIDL pomaga klientowi rozpoznawać wiadomości między sesjami, lecz nie synchronizuje folderów ani stanu przeczytania. Serwer sygnalizuje powodzenie odpowiedzią +OK, a błąd odpowiedzią -ERR. Rozszerzenia mogą dodawać kolejne polecenia.

  • Prosty Schemat Działania: "Pobierz i Usuń"

    Typowy przepływ POP3 polega na pobraniu wiadomości na urządzenie lokalne (dysk twardy komputera) i opcjonalnym oznaczeniu ich do usunięcia. Protokół nie wymaga usuwania wiadomości. Klient może pozostawić kopię na serwerze. Gdy klient wyśle polecenie DELE i zakończy sesję poleceniem QUIT, kopia pozostaje lokalnie, a wiadomość jest usuwana z maildropu zgodnie z działaniem serwera.

  • Zaprojektowany dla Pojedynczego Klienta

    POP3 dobrze pasuje do dostępu z jednego głównego klienta, zwłaszcza przy przepływie "pobierz i usuń". Przy wielu urządzeniach pozostawienie kopii na serwerze nie zapewnia synchronizacji stanu. Jeśli telefon pobierze wiadomości i klient usunie je z serwera, laptop nie będzie mógł pobrać ich ponownie. Ten brak synchronizacji jest głównym ograniczeniem POP3.

  • Dostęp Offline jako Główna Funkcja

    Po pobraniu wiadomości klient może udostępnić je offline. Użytkownik może wtedy czytać, odpowiadać, usuwać i organizować pocztę bez aktywnego połączenia z internetem. Kolejkowanie odpowiedzi i ich wysłanie przy następnym połączeniu zależą od aplikacji pocztowej.

  • Minimalne wymagania dotyczące pamięci masowej serwera

    W wariancie "pobierz i usuń" serwer może przechowywać mniej danych po zakończeniu sesji, więc wymagania dotyczące pamięci masowej są mniejsze. Jeżeli klient pozostawia kopie na serwerze, ta korzyść nie występuje. Ograniczenie przestrzeni było szczególnie istotne w początkach internetu, gdy pamięć masowa serwerów była droga.

  • Wyznaczone Porty Komunikacyjne

    POP3 używa standardowych portów sieciowych do nasłuchiwania na połączenia od klientów:

    • Port 110: Standardowy port POP3. Bez użycia TLS komunikacja, w tym hasło, przebiega jawnym tekstem. Serwer może także obsługiwać komendę STLS, która rozpoczyna negocjację TLS.
    • Port 995: Standardowy port POP3 z niejawnym TLS, często nazywany POP3S. Negocjacja TLS rozpoczyna się przy nawiązywaniu połączenia i chroni dane logowania oraz treść poczty.

3. Trzy Stany Sesji POP3

Sesja POP3 to ustrukturyzowany, stanowy proces, który przechodzi przez trzy odrębne fazy.

  1. Stan AUTORYZACJI

    To początkowa faza, w której klient uwierzytelnia się na serwerze. Operacje na maildropie wymagają pomyślnego uwierzytelnienia. Po jego zakończeniu serwer uzyskuje wyłączną blokadę skrzynki, aby zapobiec jednoczesnym modyfikacjom.

  2. Stan TRANSAKCJI

    Po autoryzacji sesja przechodzi w stan transakcji. W tym miejscu klient może wydawać polecenia w celu interakcji ze skrzynką pocztową. Klient może listować wiadomości, pobierać je i oznaczać do usunięcia. Wszystkie działania w tej fazie, w tym oznaczanie do usunięcia, są odwracalne aż do przejścia do stanu końcowego.

  3. Stan AKTUALIZACJI

    Sesja przechodzi do stanu aktualizacji, gdy klient wyśle polecenie 'QUIT' ze stanu transakcji. Serwer usuwa wiadomości oznaczone poleceniem DELE, zwalnia blokadę maildropu i zamyka połączenie TCP. W razie zerwania połączenia przed poleceniem 'QUIT' sesja nie wchodzi do stanu aktualizacji, więc wiadomości oznaczone do usunięcia nie zostają usunięte.

4. Szczegółowy Przebieg Poleceń POP3

Komunikacja w POP3 to prosty dialog oparty na poleceniach i odpowiedziach. Odpowiedzi serwera są jednoznaczne: '+OK' dla pomyślnego wykonania polecenia i '-ERR' w przypadku błędu.

Faza 1: Autoryzacja

  1. Klient łączy się przez TCP z serwerem na porcie 110.
  2. Serwer wysyła powitanie.
    Serwer: +OK Serwer POP3 gotowy <1896.697170952@poczta.przyklad.pl>
  3. Klient wysyła nazwę użytkownika.
    Klient: USER jankowalski
  4. Serwer potwierdza.
    Serwer: +OK
  5. Klient wysyła hasło.
    Klient: PASS bardzo-bezpieczne-haslo
  6. Serwer uwierzytelnia i blokuje skrzynkę.
    Serwer: +OK skrzynka jankowalski ma 2 wiadomości (320 oktetów)

Faza 2: Transakcja

  1. Klient sprawdza status skrzynki.
    Klient: STAT
    Serwer: +OK 2 320
  2. Klient listuje wiadomości, aby poznać ich numery i rozmiary.
    Klient: LIST
    Serwer: +OK 2 wiadomości (320 oktetów)
    Serwer: 1 120
    Serwer: 2 200
    Serwer: .
  3. Klient pobiera pierwszą wiadomość.
    Klient: RETR 1
    Serwer: +OK 120 oktetów
    Serwer: (serwer wysyła pełną treść wiadomości numer 1)
    Serwer: .
  4. Po pomyślnym pobraniu wiadomości 1, klient oznacza ją do usunięcia.
    Klient: DELE 1
    Serwer: +OK wiadomość 1 usunięta
  5. Klient powtarza proces dla drugiej wiadomości.
    Klient: RETR 2
    ...
    Klient: DELE 2

Faza 3: Aktualizacja

  1. Zakończywszy swoje zadania, klient kończy sesję.
    Klient: QUIT
  2. Serwer teraz trwale usuwa wiadomości 1 i 2, zwalnia blokadę i zamyka połączenie.
    Serwer: +OK serwer POP3 poczta.przyklad.pl kończy pracę

5. Bezpieczeństwo i Ewolucja Poza POP3

Oryginalny POP3 nie szyfrował sesji. Przy połączeniu bez TLS hasła i wiadomości są przesyłane jawnym tekstem. Współczesne wdrożenia powinny używać TLS. Można użyć niejawnego TLS na porcie 995 albo podnieść połączenie do TLS komendą STLS na porcie 110, zgodnie z konfiguracją serwera i klienta. Określenie SSL jest historyczne, ponieważ współczesne konfiguracje używają TLS.

Problem z Opcją "Zostaw Wiadomości na Serwerze"

Większość nowoczesnych programów pocztowych oferuje dla kont POP3 ustawienie "Zostaw kopię wiadomości na serwerze". Choć wydaje się to rozwiązywać problem jednego urządzenia, tworzy nowy zestaw problemów. Sam protokół nie ma pojęcia o synchronizowaniu "stanu" wiadomości. Oznacza to, że:

  • Jeśli przeczytasz e-mail na telefonie, na komputerze pozostanie on oznaczony jako "nieprzeczytany".
  • Jeśli usuniesz e-mail na komputerze, pozostanie on w skrzynce odbiorczej na telefonie.
  • Foldery utworzone na jednym urządzeniu nie są widoczne na żadnym innym.
  • Folder "Elementy wysłane" jest lokalny dla urządzenia, z którego wysłano wiadomość.

Brak synchronizacji stanu ogranicza użyteczność POP3 przy wielu urządzeniach. Protokół Dostępu do Wiadomości Internetowych (IMAP) został zaprojektowany z myślą o przechowywaniu poczty na serwerze i synchronizacji między klientami, dlatego lepiej obsługuje taki sposób pracy.

Powiązane artykuły