техническое · ответ с источниками

Что такое IMAP (Internet Message Access Protocol)

IMAP (Internet Message Access Protocol) — стандартный протокол получения почты, который позволяет клиентам получать доступ к сообщениям на удалённом сервере и управлять ими. В отличие от POP3, IMAP синхронизирует состояние почтового ящика на всех подключённых устройствах, поэтому флаги прочтения, удаления и перемещения везде одинаковы.

Как работает IMAP

IMAP устанавливает постоянное соединение между почтовым клиентом и сервером. Когда пользователь открывает папку, клиент запрашивает список заголовков сообщений, а не скачивает весь почтовый ящик. Тело сообщения загружается только тогда, когда пользователь выбирает конкретное письмо. Такая архитектура позволяет управлять папками и флагами сообщений на стороне сервера: изменения, сделанные на мобильном устройстве, сразу отражаются в настольном клиенте.

IMAP или POP3: что важно отправителям

Для современных отправителей и разработчиков IMAP — предпочтительный выбор для доступа с нескольких устройств. POP3 обычно скачивает письма на одну локальную машину и удаляет их с сервера, а IMAP хранит основную копию на сервере. Это критически важно для пользователей, которым нужна единая картина переписки на разных платформах. Отправителям стоит убедиться, что их сервер поддерживает IMAP, чтобы обеспечить получателям удобную работу.

Практические замечания и безопасность

IMAP обычно работает на порту 143 для незашифрованного трафика и на порту 993 для соединений, зашифрованных через SSL/TLS. Использование открытого текста на порту 143 небезопасно, поскольку учётные данные и содержимое писем передаются незашифрованными. Современные реализации строго требуют неявный TLS на порту 993 для защиты целостности данных. Разработчики, интегрирующие почтовые инструменты, могут с помощью бесплатных инструментов SendHQ проверить другие DNS-настройки, влияющие на общее состояние почты.

Типичные ошибки настройки

Частая ошибка — неверно указанный порт IMAP или не включённый SSL/TLS в настройках клиента, что приводит к тайм-аутам подключения. Другая распространённая проблема — сбой команды IMAP IDLE, из-за которого не работают push-уведомления о новой почте в реальном времени. Администраторы должны убедиться, что сервер рассчитан на ожидаемое число одновременных IMAP-соединений, чтобы избежать обрывов сессий в часы пиковой нагрузки.

Конкретный пример реализации

Типичный сценарий работы IMAP: клиент отправляет команду LOGIN с учётными данными, затем команду SELECT, чтобы открыть папку INBOX. Сервер возвращает список порядковых номеров сообщений. Затем клиент с помощью команды FETCH получает нужные части сообщения, например тему или тело, по запрошенному идентификатору сообщения.

Что спрашивают команды

Чем IMAP отличается от SMTP?

SMTP используется для отправки писем от клиента к серверу или между серверами. IMAP используется исключительно для получения писем с сервера клиентом и управления ими.

Какой порт IMAP использовать для безопасности?

Используйте порт 993 с поддержкой неявного шифрования TLS, чтобы учётные данные и данные писем передавались в зашифрованном виде.

Скачивает ли IMAP все письма на локальное устройство?

Нет, IMAP сначала получает заголовки и загружает полное содержимое сообщения, только когда пользователь открывает письмо, что экономит место на устройстве и трафик.

Можно ли использовать IMAP одновременно на нескольких устройствах?

Да, IMAP рассчитан на синхронизацию между устройствами: несколько клиентов могут работать с одним почтовым ящиком на сервере, а состояние папок остаётся согласованным.

Первоисточники