Как работает электронная почта: протоколы 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 c 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).