Як працює електронна пошта: протоколи SMTP, POP3 і IMAP
Електронна пошта виглядає просто: натиснув «Надіслати», і за секунду лист у адресата. Але за цим стоїть кілька протоколів, які відповідають за відправлення, доставку та читання листів. У цій статті розберемо, як влаштована електронна пошта і чим відрізняються SMTP, POP3 та IMAP - простими словами і з практичними прикладами.
Як доставляється лист
Щоб лист дійшов від вас до адресата, у роботу включаються кілька учасників.
- Поштовий клієнт - програма або вебінтерфейс, де ви пишете та читаєте листи. Це Outlook, Thunderbird, мобільний застосунок або вебпошта у браузері.
- Сервер відправника - приймає лист від клієнта і відправляє його далі мережею.
- Сервер отримувача - приймає лист з інтернету і кладе його в поштову скриньку адресата.
- Поштова скринька на сервері - місце, де листи зберігаються, поки отримувач їх не відкриє.
Між цими учасниками працюють три протоколи: SMTP відповідає за відправлення, а POP3 та IMAP - за отримання. Докладно розберемо їх у наступному розділі, а поки простежимо шлях листа повністю.
Коли ви натискаєте «Надіслати», лист проходить приблизно такий шлях.
- Поштовий клієнт передає лист на сервер відправлення за протоколом SMTP.
- Сервер відправника визначає домен адресата (частина адреси після символу @) і запитує в DNS його поштовий сервер - MX-запис.
- За тим самим SMTP лист передається на сервер отримувача через інтернет.
- Сервер отримувача приймає лист і зберігає його в поштовій скриньці адресата.
- Отримувач відкриває поштовий клієнт і забирає лист за протоколом POP3 або IMAP.
- Лист з'являється в папці «Вхідні».
До чого тут DNS і MX-записи
Щоб лист знайшов потрібний сервер, використовується DNS. У кожного домену є MX-запис (Mail Exchanger), яка вказує, який сервер приймає пошту для цього домену. Сервер відправника читає MX-запис адресата і доставляє лист туди. Якщо MX-запис налаштовано неправильно, листи не доходять.
SMTP, POP3 і IMAP: три поштові протоколи
За відправлення та отримання листів відповідають три протоколи: один відправляє листи, два інші забирають їх із сервера.
SMTP - відправлення листів
SMTP (Simple Mail Transfer Protocol) відповідає за відправлення листа: від клієнта до сервера і між серверами. Це листоноша, який переносить лист, але не зберігає його.
У SMTP є три типові порти:
- 587 - основний порт для відправлення листів клієнтом із шифруванням STARTTLS. Його вказують у налаштуваннях поштової програми.
- 465 - відправлення одразу захищеним каналом SSL/TLS.
- 25 - обмін листами між серверами. Для відправлення з поштових програм його зазвичай закривають, щоб боротися зі спамом.
Якщо листи не виходять, найчастіше річ у порті. Для відправлення з клієнта використовуйте порт 587 зі STARTTLS або 465 із SSL, а не порт 25.
POP3 - забрати листи на пристрій
POP3 (Post Office Protocol версії 3) завантажує листи із сервера на ваш пристрій. За класичною схемою після завантаження листи видаляються із сервера, тобто залишаються тільки на одному пристрої.
- 995 - захищене підключення POP3 over SSL/TLS. Рекомендований варіант.
- 110 - підключення без шифрування. Зараз майже не використовується.
POP3 зручний, якщо ви читаєте пошту з одного комп'ютера і хочете зберігати листи локально, наприклад за повільного або дорогого інтернету.
IMAP - синхронізація листів на сервері
IMAP (Internet Message Access Protocol) залишає листи на сервері і синхронізує їх між усіма пристроями. Прочитали лист на телефоні - він позначений прочитаним і на комп'ютері.
- 993 - захищене підключення IMAP over SSL/TLS. Рекомендований варіант.
- 143 - підключення без шифрування. Використовувати не варто.
IMAP - вибір за замовчуванням для більшості користувачів, тому що пошта доступна з будь-якого пристрою і не втрачається при поломці телефона або ноутбука.
POP3 чи IMAP і які порти обрати
Коротке порівняння допоможе визначитися між POP3 та IMAP.
| Критерій | POP3 | IMAP |
|---|---|---|
| Де зберігаються листи | На пристрої | На сервері |
| Кілька пристроїв | Незручно | Зручно, усе синхронізовано |
| Місце на сервері | Майже не займає | Займає, потрібен обсяг скриньки |
| Доступ без інтернету | Є, листи лежать локально | Тільки те, що закешовано |
| Кому підходить | Один комп'ютер, локальний архів | Телефон плюс комп'ютер, командна робота |
Порти і шифрування: шпаргалка
| Протокол | Без шифрування | Із шифруванням |
|---|---|---|
| SMTP (відправлення) | 25 або 587 | 587 STARTTLS або 465 SSL |
| POP3 (отримання) | 110 | 995 |
| IMAP (отримання) | 143 | 993 |
Загальне правило: усюди, де можна, обирайте захищені порти - 587 або 465, 995, 993. Тоді логін, пароль і тексти листів передаються в зашифрованому вигляді.
Діагностика пошти
Кілька команд допоможуть перевірити пошту із сервера або комп'ютера на Linux.
Подивитися, який сервер приймає пошту для домену:
Перевірити, чи відповідає SMTP-сервер на захищеному порті:
Перевірити доступність IMAP за захищеним портом:
Якщо з'єднання не встановлюється
Перевірте, що потрібний порт відкритий на стороні сервера і не заблокований у провайдера. Переконайтеся, що в налаштуваннях клієнта обрано правильний порт і тип шифрування. Для відправлення використовуйте порт 587 або 465, для отримання - 993 (IMAP) або 995 (POP3).