Overview
Twoja zdolność do wysyłania i odbierania e-maili jest w dużej mierze spowodowana przez 3 protokoły TCP: SMTP, IMAP i POP3. Jeśli masz kilka minut wolnego czasu, teraz jest dobry moment, aby dowiedzieć się, czym one są i jak się od siebie różnią.
SMTP
Zacznijmy od SMTP, ponieważ jego podstawowa funkcja różni się od dwóch pozostałych. Do czego jest używany SMTP? SMTP lub Simple Mail Transfer Protocol jest głównie używany do wysyłania wiadomości e-mail z klienta poczty (np. Microsoft Outlook, Thunderbird lub Apple Mail) do serwera poczty. Jest on również używany do przekazywania lub przekierowywania wiadomości pocztowych z jednego serwera pocztowego na inny. Możliwość przekazywania wiadomości z jednego serwera na drugi jest konieczna, jeśli nadawca i odbiorca mają różnych dostawców usług poczty elektronicznej.
SMTP, który jest określony w RFC 5321, domyślnie używa portu 25. Może również korzystać z portów 587 i 465. Ten ostatni, który został wprowadzony jako port z wyboru dla bezpiecznego SMTP (a.k.a. SMTPS), ma być przestarzały. Jednak w rzeczywistości jest on nadal używany przez kilku dostawców usług pocztowych.
Teraz, gdy masz już podstawową wiedzę na temat SMTP, nadszedł czas, aby zwrócić naszą uwagę na dwa protokoły pobierania poczty z serwerów pocztowych: IMAP i POP3. Zacznijmy od POP3.
POP3
Jak pokazano na rysunku powyżej, protokół Post Office Protocol lub POP jest używany do pobierania wiadomości e-mail z serwera pocztowego do klienta pocztowego. Najnowszą wersją, która jest powszechnie używana, jest wersja 3 – stąd termin „POP3”.
POP w wersji 3, która jest określona w RFC 1939, obsługuje rozszerzenia i kilka mechanizmów uwierzytelniania. Funkcje uwierzytelniania są niezbędne, aby uniemożliwić złośliwym osobom uzyskanie nieuprawnionego dostępu do wiadomości użytkowników.
Generalnie rzecz biorąc, klient POP3 pobiera pocztę w następujący sposób:
- Łączy się z serwerem pocztowym na porcie 110 (lub 995 w przypadku połączeń SSL/TLS);
- Pobiera wiadomości e-mail;
- Usuwa kopie wiadomości przechowywane na serwerze; oraz
- Odłącza się od serwera
Chociaż klienci POP mogą być skonfigurowani w taki sposób, aby umożliwić serwerowi dalsze przechowywanie kopii pobranych wiadomości, czynności przedstawione powyżej są zwykłą praktyką. Pozostawianie ich na serwerze jest praktyką, którą zwykle wykonuje się za pomocą protokołu IMAP. Porozmawiajmy teraz o tym.
IMAP
IMAP, zwłaszcza jego obecna wersja (IMAP4), jest bardziej zaawansowanym protokołem. Pozwala użytkownikom na grupowanie powiązanych ze sobą wiadomości i umieszczanie ich w folderach, które z kolei mogą być uporządkowane hierarchicznie. Jest również wyposażony we flagi wiadomości, które wskazują, czy wiadomość została przeczytana, usunięta lub czy udzielono na nią odpowiedzi. Pozwala nawet użytkownikom na przeszukiwanie skrzynek pocztowych na serwerze.
Tak w skrócie działa protokół IMAP:
- Łączy się z serwerem poczty na porcie 143 (lub 993 dla połączeń SSL/TLS);
- Pobiera wiadomości e-mail;
- Pozostaje połączony do momentu zamknięcia aplikacji klienta poczty i pobiera wiadomości na żądanie.
Zauważ, że wiadomości nie są usuwane na serwerze. Ma to poważne implikacje, o których powiemy za chwilę.
Specyfikacje protokołu IMAP można znaleźć w RFC 3501.
Rozważania przy wyborze między IMAP a POP3
Ponieważ główna funkcja SMTP jest zupełnie inna, dylemat wyboru lepszego protokołu dotyczy zwykle tylko IMAP i POP3. Oto kilka rzeczy, które warto wziąć pod uwagę:
Miejsce na serwerze
Serwer z ograniczoną przestrzenią dyskową jest jednym z głównych czynników, które mogą zmusić cię do preferowania POP3. Ponieważ protokół IMAP pozostawia wiadomości na serwerze, może on zużywać miejsce na dysku szybciej niż POP3.
Zaleta: POP3
Anytime, anywhere access
Jest jeden dobry powód, dla którego IMAP został zaprojektowany do przechowywania wiadomości na serwerze. Ma on umożliwić odzyskiwanie wiadomości z wielu urządzeń; czasami nawet jednocześnie. Więc jeśli masz iPhone’a, tablet z Androidem, laptopa i komputer stacjonarny, i chcesz czytać pocztę z każdego lub wszystkich tych urządzeń, IMAP będzie lepszym wyborem.
Zaleta: IMAP
Synchronizacja
Jeśli uzyskujesz dostęp do wiadomości e-mail z wielu urządzeń (kto tego nie robi w dzisiejszych czasach?), prawdopodobnie będziesz chciał, aby wszystkie urządzenia odzwierciedlały każdą czynność, którą wykonałeś na jednym urządzeniu.
Na przykład, jeśli przeczytałeś wiadomości A, B i C, to będziesz chciał, aby te wiadomości były również oznaczone jako „przeczytane” na innych urządzeniach. Jeśli usunąłeś wiadomości B i C, to będziesz chciał, aby te same wiadomości zostały usunięte ze skrzynki odbiorczej również na innych urządzeniach. Jeśli przeniosłeś wiadomość A do innego folderu … cóż, wiesz o co mi chodzi. Wszystkie te synchronizacje mogą być osiągnięte tylko wtedy, gdy używasz IMAP.
Zaleta: IMAP
Organizacja
Ponieważ IMAP pozwala użytkownikom układać wiadomości w sposób hierarchiczny i umieszczać je w folderach, jest z pewnością lepszy w pomaganiu użytkownikom w organizacji.
Zaleta: IMAP
Nadmiar obliczeń
Oczywiście, cała ta funkcjonalność IMAP ma swoją cenę. Jest to prawdopodobnie trudniejsze do wdrożenia i z pewnością zużywa dużo więcej CPU i RAM, zwłaszcza gdy wykonuje te synchronizacje. W rzeczywistości, wysokie zużycie CPU i pamięci może wystąpić zarówno po stronie klienta, jak i serwera, jeśli jest mnóstwo wiadomości do zsynchronizowania.
Zaleta: POP3
Prywatność
Jest to jedna z obaw, która mocno obciążałaby użytkowników końcowych, którzy często mają do czynienia z poufnymi informacjami. Użytkownicy ci woleliby pobierać wszystkie wiadomości e-mail i nie pozostawiać żadnych kopii na serwerze.
Zaleta: POP3
Szybkość
Gdy POP3 pobiera wszystkie wiadomości pocztowe przy połączeniu, IMAP może opcjonalnie pobierać tylko nagłówki wiadomości lub pewne ich części, a pozostawić na serwerze na przykład załączniki. Dopiero gdy użytkownik zdecyduje, że pozostałe części są warte pobrania, zostaną one pobrane. Pod tym względem IMAP można uznać za szybszy.
Jednakże, jeśli wszystkie wiadomości na serwerze mają być pobierane za każdym razem, to POP3 byłby teraz szybszy.
Zaleta: Zależy od sytuacji
Jak widać, każdy protokół ma swoje wady i zalety. To naprawdę zależy od Ciebie, aby zdecydować, które funkcje/zdolności są dla Ciebie ważniejsze.
.