POP3 или IMAP: в чём разница и что выбрать
Марк АвриловОпубликовано обновлено
POP3 (Post Office Protocol version 3) это протокол для загрузки электронной почты с удалённого сервера на локальное устройство. Описан в RFC 1939 (1996 год). Логика POP3 предельно прямолинейна: клиент подключается к серверу, скачивает письма, разрывает соединение. После загрузки письма хранятся на устройстве, а с сервера по умолчанию удаляются.
Чем POP3 отличается от IMAP
Разница между POP3 и IMAP сводится к одному вопросу: где живёт почта. POP3 забирает письма на устройство и по умолчанию стирает их с сервера. IMAP оставляет всё на сервере, а клиент показывает копию и синхронизирует изменения в обе стороны.
| Что сравниваем | POP3 | IMAP |
|---|---|---|
| Где хранятся письма | На устройстве | На сервере |
| Несколько устройств | Каждое видит своё | Все видят одно и то же |
| Папки на сервере | Только «Входящие» | Любая структура |
| Работа без сети | Полная | Только по кешу |
| Место на сервере | Не расходуется | Расходуется полностью |
| Порты | 110, 995 (SSL) | 143, 993 (SSL) |
Что выбрать, зависит от того, с скольких устройств вы читаете почту. Один компьютер, слабый интернет и жёсткая квота на сервере это случай для POP3. Телефон плюс ноутбук плюс веб-интерфейс это случай для IMAP, и таких людей сегодня подавляющее большинство. Подробнее про второй вариант в статье про IMAP-протокол.
Три фазы сессии
Каждое POP3-соединение проходит три последовательные стадии:
- Authorization. Клиент передаёт логин и пароль. Сервер проверяет учётные данные и блокирует ящик (maildrop lock), чтобы второе одновременное подключение не привело к повреждению данных.
- Transaction. Клиент запрашивает список писем, их размеры, скачивает содержимое, помечает письма для удаления. Все изменения накапливаются, но не применяются к ящику до завершения сессии.
- Update. Клиент отправляет команду QUIT. Сервер окончательно удаляет помеченные письма, снимает блокировку ящика и закрывает соединение.
Если соединение обрывается до QUIT, помеченные для удаления письма остаются на месте. Это защита от потери данных при сбое связи.
Команды протокола
USER/PASS. Передача имени пользователя и пароля.APOP. Аутентификация с хешированием пароля (MD5). Защищает от перехвата, но MD5 давно считается слабым. На практике заменяется TLS-шифрованием всего соединения.STAT. Число писем и суммарный размер ящика в октетах.LIST. Перечень писем с порядковым номером и размером каждого.RETR. Загрузка полного содержимого письма по номеру.DELE. Пометка письма для удаления при закрытии сессии.TOP. Загрузка заголовков и первых N строк тела. Полезно для предпросмотра без скачивания всего письма.UIDL. Уникальные идентификаторы писем. Позволяют клиенту определять, какие письма уже были загружены ранее.RSET. Сброс всех пометок на удаление в текущей сессии.QUIT. Завершение сессии и применение удалений.
Порты и шифрование
- Порт 110 — стандартный порт POP3 без шифрования. Поддерживает расширение STLS для перехода на TLS после подключения (аналог STARTTLS в SMTP).
- Порт 995 — POP3S (POP3 over implicit TLS). Шифрование с первого байта. Рекомендуемый вариант для любых подключений.
Незашифрованный POP3 на порту 110 передаёт логин и пароль открытым текстом. В публичных сетях это позволяет перехватить учётные данные за секунды. В современных настройках порт 110 без STLS не используется.
Режим сохранения копий
Большинство почтовых клиентов (Thunderbird, Outlook, Apple Mail) позволяют настроить POP3 с опцией «оставлять копию на сервере». В этом режиме команда DELE не отправляется, и письма остаются доступными для повторной загрузки с другого устройства.
Это частичное решение проблемы многоустройственного доступа, но оно не даёт синхронизации. Если вы прочитали письмо на ноутбуке, на телефоне оно по-прежнему будет отображаться как новое. Флаги, папки, пометки, ничего из этого POP3 не синхронизирует.
Когда POP3 остаётся полезным
- Локальное архивирование. Скрипт или клиент скачивает всю входящую почту на локальный сервер, формируя офлайн-архив. Это используется в юридических и финансовых организациях, где нужно хранить переписку определённый срок.
- Ограниченное серверное хранилище. Если провайдер даёт 100 МБ на ящик, POP3 со скачиванием и удалением освобождает место.
- Единственное устройство. Если почта читается строго с одного рабочего компьютера, синхронизация IMAP не приносит пользы.
- Изолированная среда. Системы мониторинга и автоматической обработки писем иногда используют POP3 из-за его простоты: подключился, забрал, обработал.
Ограничения протокола
POP3 работает только со входящими. Он не знает о папках Sent, Drafts, Trash. Нет серверного поиска. Нет механизма push- уведомлений о новых письмах (клиент опрашивает сервер по таймеру). Нет частичной загрузки структурированного письма (MIME-частей), команда RETR скачивает сообщение целиком.
Для пользователя с двумя-тремя устройствами POP3 создаёт ощутимые неудобства. Поэтому в пользовательских сценариях он уступил место IMAP, а в серверных используется точечно, там, где важна простота и отсутствие постоянного соединения.
POP3 и почтовая инфраструктура
На стороне сервера POP3 обслуживается MDA (Mail Delivery Agent), чаще всего Dovecot или Courier. Настройка POP3-сервиса проще, чем IMAP, поскольку не нужно поддерживать серверные папки, индексы и кэш метаданных. Нагрузка на сервер тоже ниже: клиент подключается, забирает письма и отключается, не удерживая долгоживущее соединение.
При развёртывании почтовой инфраструктуры разумно поддерживать оба протокола. Ряд устаревших устройств и встроенных систем умеет работать только по POP3, и отключение протокола может оставить их без доступа к почте.
uChecker валидирует email-адреса через DNS-, MX- и SMTP-проверки. Независимо от того, какой протокол получатель использует для чтения почты, валидация гарантирует, что адрес существует и принимает сообщения.
Марк Аврилов · Автор материала
Опубликовано Обновлено
