SMTP, POP3 и IMAP: чем отличаются и какие порты использовать
Как устроена отправка и получение почты, разница между POP3 и IMAP, таблица портов с TLS и без, какой порт SMTP выбрать и как проверить их с сервера.

Электронная почта держится на трёх протоколах. SMTP отправляет письма, POP3 и IMAP забирают их с сервера в почтовый клиент. Путаница между ними — самая частая причина «почта не настраивается»: не тот порт, не тот протокол, или от SMTP ждут, что он покажет входящие.
Замеры ниже делались на VPS в Германии — на tanaka.host у каждого сервера свой IPv4 и IPv6, так что проверять можно оба стека.
SMTP — отправка
SMTP (Simple Mail Transfer Protocol) работает только в одну сторону. Когда вы нажимаете «Отправить», письмо уходит на SMTP-сервер вашего провайдера почты, а тот передаёт его по цепочке серверов до ящика получателя.
Коротко:
- Клиент подключается к SMTP-серверу.
- Проходит проверку логина и пароля (на портах 465/587).
- Передаёт адрес получателя и само письмо.
- Сервер отправляет письмо дальше — уже на порт 25 сервера получателя, без аутентификации.
Получать письма SMTP не умеет — этим занимаются POP3 и IMAP.
POP3 — скачать на одно устройство
POP3 (Post Office Protocol v3) скачивает письма с сервера на устройство и по умолчанию удаляет их с сервера.
Плюсы:
- письма хранятся локально, доступны без интернета;
- не занимают место на сервере;
- минимум настроек.
Минусы:
- письмо, скачанное на компьютер, не увидеть на телефоне;
- сломалось устройство — письма пропали, если нет бэкапа;
- папки и статус «прочитано» не синхронизируются.
Подходит тем, кто читает почту с одного устройства и хочет держать архив у себя.
IMAP — синхронизация между устройствами
IMAP (Internet Message Access Protocol) хранит письма на сервере и синхронизирует состояние между всеми клиентами. Прочитали на телефоне — на компьютере письмо тоже прочитано, переместили в папку — переместилось везде.
Плюсы:
- одинаковые письма и папки на всех устройствах;
- всё на сервере, доступно откуда угодно, включая веб-интерфейс;
- можно загружать только заголовки и экономить трафик.
Минусы:
- письма занимают место на сервере, квота конечна;
- без интернета доступен только локальный кэш.
Сегодня IMAP — выбор по умолчанию. POP3 оставляют для специальных случаев.
Порты
У каждого протокола два варианта порта: с шифрованием TLS и старый, открытый.
| Протокол | С шифрованием | Без шифрования |
|---|---|---|
| SMTP, отправка из клиента | 465 (TLS), 587 (STARTTLS) | 25 |
| IMAP, получение | 993 | 143 |
| POP3, получение | 995 | 110 |
Всегда выбирайте порт с шифрованием, иначе логин, пароль и письма идут по сети открытым текстом.
465 или 587? Оба предназначены для отправки пользователем с аутентификацией. 465 — TLS с первого байта (implicit TLS), 587 — соединение начинается открытым и переключается командой STARTTLS. Начните с 465; если клиент или библиотека с ним не дружат — 587. Порт 25 используют почтовые серверы между собой, для отправки из клиента он не годится, и провайдеры его часто режут.
Сравнение
| Протокол | Задача | Когда выбрать |
|---|---|---|
| SMTP | Отправка | Всегда, другого способа отправить нет |
| POP3 | Загрузка на устройство | Одно устройство, архив локально |
| IMAP | Синхронизация | Несколько устройств, веб-доступ |
SMTP только отправляет, POP3 и IMAP только получают. Выбор между двумя последними — нужна ли синхронизация.
Проверка с сервера
Открыт ли порт — через netcat:
nc -zv -w 3 imap.example.com 993
nc -zv -w 3 smtp.example.com 465
Приветствие SMTP-сервера на открытом порту видно напрямую:
nc -w 5 smtp.example.com 25
Для TLS-портов nc покажет мусор, нужен openssl:
openssl s_client -connect imap.example.com:993 -quiet
# для 587 со STARTTLS:
openssl s_client -connect smtp.example.com:587 -starttls smtp -quiet
В ответ придёт * OK … от IMAP или 220 … от SMTP. Если соединение висит и обрывается по таймауту — порт закрыт на стороне сервера, по пути, или на вашем VPS закрыт исходящий порт 25 (многие хостинги режут его против спама).
Какие серверы принимают почту для домена, покажет dig: dig example.com MX +short.
Отправка почты с VPS
Если нужно, чтобы сайт или скрипт на сервере отправлял письма, у вас три варианта:
- Внешний SMTP-сервис (почта вашего домена у Яндекс 360, Google Workspace, Mailgun и т.п.) через порт 465/587 с логином и паролем. Самый простой и надёжный путь: репутацией IP занимается сервис.
- Свой почтовый сервер на VPS. Нужен PTR на IP, SPF, DKIM, DMARC и чистая репутация адреса — иначе письма уходят в спам. Отдельная большая тема.
- Transactional API сервисов рассылок через HTTPS — когда SMTP с сервера закрыт вовсе.
Для MX и TXT-записей домена смотрите привязку домена к VPS.