IMAP
| IMAP | |
|---|---|
| Название | Internet Message Access Protocol |
| Уровень (по модели OSI) | Прикладной |
| Семейство | TCP/IP, E-Mail |
| Создан в | 1986 |
| Порт/ID | 143/TCP, 993/TCP (IMAP поверх SSL) |
| Назначение протокола | Доступ к почтовым ящикам |
| Спецификация | RFC 9051 |
| Основные реализации (клиенты) | MUA (Outlook Express, Opera, Mozilla Thunderbird, The Bat!, Claws Mail, mutt и др.) |
| Основные реализации (серверы) | UW IMAP, Courier, Cyrus, Dovecot |
IMAP (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте, основанный на TCP. Использует порт 143[К 1], работает только с сообщениями, не требует пакетов со специальными заголовками[1].
IMAP взаимодействует с почтовыми ящиками, расположенными на почтовом сервере. Почтовый клиент, использующий SIP, получает доступ к серверному хранилищу таким образом, как будто информация в этом хранилище находится на компьютере получателя. С Электронными письмами можно проводить операции с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно.
Обычно для отправки писем используется SMTP, поскольку команда APPEND, встроенная в IMAP, не позволяет передавать служебную информацию[1].
Для имён почтовых ящиков (папок) с символами вне диапазона ASCII используется модифицированная версия кодировки UTF-7[1].
Цель разработки
IMAP является альтернативой POP с минимальными способностями по отправке.
Первая версия POP имела ряд недостатков, и наиболее серьёзный из них — отсутствие возможностей по управлению перемещением и хранением сообщений на сервере. В POP сообщения загружаются с почтового сервера все сразу, после чего они с сервера удаляются, то есть отсутствует возможность выбирать сообщения для получения.
Для решения проблем, связанных с этой особенностью POP, в 1986 году Марк Криспин (англ. Mark Crispin), работавший тогда в Стэнфордском университете, создал новый протокол получения почты с сервера[2], который предоставил пользователям возможность получения электронной почты в различных местах из одного почтового ящика и управления сообщениями, а также дополнительные функции по обслуживанию почтовых ящиков на сервере.
В дальнейшем POP был доработан: в модификации POP3 есть возможность получать с сервера избранные сообщения и оставлять избранные сообщения на сервере. В последних версиях между IMAP и POP основное различие для пользователя — IMAP4 может обращаться к письмам в разных почтовых папках на сервере и перемещать письма между ними, а POP3 обращается к письмам на сервере по номерам в линейном списке (то есть работает только с одной почтовой папкой).
- Версии протокола IMAP[2]
- IMAP: в 1986 реализован на DEC, спецификация отсутствует
- IMAP2: реализован в 1987, описан в 1988 в RFC 1064, доработан в 1990 (RFC 1176)
- IMAP3: 1991 RFC 1203
- IMAP2bis, спецификация существует только в черновом варианте 1993 года, плюс в RFC 2061 (1996) описаны различия между IMAP4 и IMAP2bis
- IMAP4: 1994 RFC 1730
- IMAP4rev1: 1996 RFC 2060, 2003 RFC 3501
Преимущества по сравнению с POP3
При использовании POP3 клиент подключается к серверу только на промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих почтовых ящиках имеется много сообщений большого объёма.
Протокол POP требует, чтобы текущий клиент был единственным подключённым к ящику. IMAP допускает одновременный доступ нескольких клиентов к ящику и предоставляет клиенту возможность отслеживать изменения, вносимые другими клиентами, подключёнными одновременно с ним.
Благодаря системе флагов, определённой в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.
Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение «IMAP4 Access Control List (ACL) Extension» (RFC 4314) для управления правами доступа к ящикам.
Поиск сообщений происходит на стороне сервера.
IMAP4 имеет явный механизм расширения[3].
Примечания
Комментарии
- ↑ IMAPS (IMAP поверх SSL) использует порт 993.
Источники
- ↑ 1 2 3 Семёнов, 2014.
- ↑ 1 2 University of Washington.
- ↑ В чем разница между POP и IMAP? support.microsoft.com. Дата обращения: 19 июля 2021. Архивировано 19 июля 2021 года.
Литература
- Hughes, L. Internet e-mail Protocols, Standards and Implementation. — Artech House Publishers, 1998. — ISBN 0-89006-939-5.
- Johnson, K. Internet Email Protocols: A Developer's Guide. — Addison-Wesley Professional, 2000. — ISBN 0-201-43288-9.
- Loshin, P. Essential Email Standards: RFCs and Protocols Made Practical. — John Wiley & Sons, 1999. — ISBN 0-471-34597-0.
- Rhoton, J. Programmer's Guide to Internet Mail: SMTP, POP, IMAP, and LDAP. — Elsevier, 1999. — ISBN 1-55558-212-5.
- Wood, David. Programming Internet Email : Mastering Internet Messaging Systems. — O'Reilly, 1999. — 380 p. — ISBN 1-56592-479-7.
Ссылки
- RFC 3501 — Internet Message Access Protocol v4rev1 (англ.)
- IMAP Status and History (англ.). The IMAP Connection. University of Washington. Дата обращения: 1 апреля 2019. Архивировано из оригинала 21 октября 2009 года.
- Howto: Configuring KMail with Gmail — IMAP and Disconnected IMAP (англ.)
- Семёнов, Ю. А. 4.4.14.3 Протокол Интернет для работы с сообщениями IMAP : [арх. 15 августа 2025] // Телекоммуникационные технологии : эл. изд. — v5.1. — М. : ИТЭФ, 2014. — 15 июня.