Протокол доступа к Интернет-сообщениям

Протокол доступа к Интернет-сообщениям
Семья: Семейство интернет-протоколов
Область деятельности: Читать и управлять электронной почтой
Порты : 143 / TCP
993 / TCP (только с TLS )
IMAP в стеке протоколов TCP / IP :
применение IMAP
транспорт TCP
Интернет IP ( IPv4 , IPv6 )
Доступ к сети Ethernet Жетон
автобус
Жетон
кольцо
FDDI ...
По умолчанию: RFC 3501

Протокол доступа к сообщениям в Интернете ( IMAP ), первоначально интерактивный протокол доступа к почте , представляет собой сетевой протокол, который обеспечивает сетевую файловую систему для электронной почты .

IMAP был разработан в 1980-х годах с появлением персональных компьютеров , чтобы разрешить зависимости от отдельных клиентских компьютеров для почтовой связи . С этой целью IMAP расширяет функции и процессы протокола почтового отделения (POP), чтобы пользователи могли сохранять и оставлять свои письма, структуры папок и настройки на (почтовых) серверах . Клиенты (ПК) получают доступ к информации на серверах непосредственно в режиме онлайн и, возможно, должны будут разместить ее копии. В то время как пользователь POP либо потерял все электронные письма после потери своего компьютера, либо получает электронные письма, которые уже были удалены, пользователи IMAP всегда хранят свою почту на серверах и, даже для нескольких и разных клиентов, всегда имеют единый доступ.

Simple Mail Access Protocol (ПДО) представляет собой подход , чтобы объединить функциональность IMAP с Simple Mail Transfer Protocol (SMTP), который в противном случае требуется для отправки электронной почты.

Свойства протокола

IMAP - это текстовый протокол для доступа к электронной почте на почтовом сервере . Почтовый клиент только посылает запросы к серверу для получения информации, которая в настоящее время требуется. Был бы пользователь z. Б. просмотреть содержимое папки, клиент получает текущий список сообщений для соответствующей папки с сервера. Если содержимое письма должно отображаться, оно загружается с сервера. Поскольку все данные остаются на сервере, все они показывают одну и ту же текущую базу данных почтового ящика - даже при использовании нескольких клиентов. Кроме того, нет необходимости в локальном хранении данных, и на сервере выполняются расширенные возможности, такие как поиск по почте.

С помощью IMAP также можно получить доступ к различным папкам в почтовом ящике. Многие серверы также могут сортировать входящую почту прямо по разным папкам ( фильтровать ). Установив права доступа для папок в почтовом ящике, несколько пользователей могут получить доступ к одним и тем же данным одновременно . Расширение IMAP IDLE позволяет немедленно уведомлять клиентов ( push- уведомления ) о поступлении новой почты. Это позволяет избежать ненужного трафика данных, который может возникнуть в результате постоянных запросов ( опросов ) от клиента. Если у вас нет интернет-соединения с вашим почтовым сервером, вы, как правило, больше не можете получить доступ к своей почте. Некоторые клиенты решают эту проблему, создавая локальные копии почты, к которым они могут получить доступ в автономном режиме . Когда подключение к Интернету восстанавливается, данные снова сравниваются ( синхронизируются ) с почтовым сервером .

Поскольку данные хранятся централизованно на внешнем сервере, необходимо также учитывать вашу собственную защиту данных . Поэтому соединение с сервером должно быть зашифровано .

Пример IMAP-сеанса (пример IMAP4rev1 из RFC 3501 , глава 8 - сокращенно):

Клиент сервер Объяснение
* OK IMAP4rev1 Сервис готов Сервер приветствует клиента
a001 логин mrc секрет Клиент входит в систему
a001 OK ВХОД завершен Сервер подтверждает регистрацию
a002 выберите почтовый ящик Клиент выбирает почтовый ящик в качестве активной папки
* 18 СУЩЕСТВУЕТ

* ФЛАГИ (\ Ответил \ Флаг \ Удалено \ Просмотрено \ Черновик)
* 2 НЕДАВНИЕ
* ОК [НЕ ВИДЕТЬ 17] Сообщение 17 является первым невидимым сообщением
a002 ОК [ЧИТАТЬ-ЗАПИСАТЬ] ВЫБРАТЬ завершено

Доступно 18 писем

Установлены флаги
2 срочных письма (например, новые письма)
Письмо № 17 не было прочитано. Все старые уже прочитаны.
Клиенту разрешено вносить изменения в почту

a003 получить 12 полных Клиент запрашивает информацию по почте №12
* 12 ПОЛУЧИТЬ (ФЛАГИ (\ озера)
ВНУТРЕННЯЯ ДАТА "17-июл-1996 02:44:25 -0700"
RFC822.SIZE 4286
КОНВЕРТ ("среда, 17 июля 1996 г. 2:23:25 -0700 (PDT)"
"Сводка и протокол IMAP4rev1 WG mtg"
(("Терри Грей" NIL "серый" "cac.washington.edu"))
(("Терри Грей" NIL "серый" "cac.washington.edu"))
(("Терри Грей" NIL "серый" "cac.washington.edu"))
((NIL NIL "imap" "cac.washington.edu"))
(("Джон Кленсин" НИЛ "КЛЕНСИН" "MIT.EDU"))
Ноль ноль
"<[email protected]>")
BODY ("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 302892))

a003 OK FETCH завершен

Почта уже прочитана

17 июля 1996 г. отправил заголовок
размером более 4 КБ :

свидание
Тема
Отправитель (От)
Отправитель (отправитель)
отвечать на
Получатель (Кому)
Копировать получателя (CC)
BCC и In-Reply-To не указаны
ID сообщения

a004 fetch 12 body [заголовок] Клиенту нужны все заголовки для письма № 12
* 12 FETCH (ТЕЛО [ЗАГОЛОВОК] {342}
Дата: среда, 17 июля 1996 г., 02:23:25 -0700 (PDT)
От кого: Терри Грей <[email protected]>
Тема: IMAP4rev1 WG mtg summary и протокол
Кому: [email protected]
cc: [email protected], Джон Кленсин <[email protected]>
Идентификатор сообщения: <[email protected]>
Версия MIME: 1.0
Content-Type: ТЕКСТ / ОБЫЧНАЯ; CHARSET = US-ASCII
)

a004 OK FETCH завершен

Сервер отправляет запрошенные почтовые заголовки
a005 store 12 + flags \ удалено Пометить письмо № 12 как удаленное
* 12 ПОЛУЧИТЬ (ФЛАГИ (\ Seen \ Deleted))

a005 OK + FLAGS завершено

a006 выйти Клиент выходит из системы
* BYE Сервер IMAP4rev1 завершает соединение

a006 OK ВЫХОД завершен

Клиенты

IMAP теперь поддерживается почти всеми распространенными программами электронной почты . Однако уровень поддержки сильно различается. Многие клиенты поддерживают только базовые функции получения сообщений (чего достаточно для большинства пользователей). Лишь несколько программ используют весь набор функций, которые предлагают серверы IMAP. Это включает, например, назначение прав для разных пользователей на совместный доступ к папке.

Подборка клиентов с расширенной поддержкой IMAP:

Подбор клиентов с простой поддержкой IMAP:

сервер

Многие почтовые серверы теперь поддерживают IMAP. Однако некоторые провайдеры подавляют эту функциональность (или взимают более высокую плату), поскольку с IMAP больше данных хранится на сервере, а средний объем передачи также увеличивается.

Сайрус был первым сервером, который использовал версию IMAP, рекомендованную в качестве стандарта Интернета. UW IMAP последовал его примеру в том же году и ранее был доказательством концепции IMAP. Этот сервер Вашингтонского университета расширяет IMAP, но это не было задокументировано и, тем не менее, было принято Университетом Карнеги-Меллона в его Cyrus. Такой подход двух университетов к первым реализациям означал, что соответствие и совместимость с IMAP, как известно, вызывает споры.

В Courier Mail Server произошел отход от концепции mbox , которая сейчас считается непригодной. Курьер сохраняет письма в соответствии с концепцией maildir . Стабильность и производительность концепции хранилища является важным критерием серверов для IMAP.

Помимо упомянутых, в среде Unix также используются следующие серверы IMAP:

Продукты обмена сообщениями также предлагают интерфейсы IMAP на других платформах и в коммерческом секторе.

Кроме того, решения для групповой работы прочно включают IMAP в свою концепцию:

Плюсы и минусы

преимущество недостаток
  • Сообщения хранятся отдельно на сервере
  • Быстрый первый доступ к почтовому ящику
  • Содержимое почтового ящика всегда в актуальном состоянии
  • Для каждого непрочитанного сообщения необходимо устанавливать соединение с сервером.
  • Чтобы сохранить копию отправленного сообщения, его необходимо загрузить во второй раз.
  • Более высокая нагрузка на сервер - особенно при поиске и сортировке

Аутентификация

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

В качестве альтернативы также могут использоваться другие протоколы сетевой аутентификации (например, GSSAPI , Kerberos ).

Шифрование

IMAPS в стеке протоколов TCP / IP :
применение IMAP
транспорт SSL / TLS
TCP
Интернет IP ( IPv4 , IPv6 )
Доступ к сети Ethernet Жетон
автобус
Жетон
кольцо
FDDI ...

Чтобы защитить данные от третьих лиц во время передачи, соединение для передачи данных может быть зашифровано с помощью SSL / TLS . Для этого есть два разных метода:

STARTTLS

После того, как соединение для незашифрованных данных было установлено с сервером (порт 143), зашифрованный сеанс может быть инициирован с помощью команды STARTTLS , так что все последующие данные, отправленные через это соединение, будут передаваться только в зашифрованном виде. Это расширение протокола зафиксировано в спецификации протокола.

IMAPS

При использовании IMAPS соединение с сервером шифруется с использованием SSL, пока соединение устанавливается . Необходимо использовать другой порт, чтобы сервер распознал это. Порт 993 был зарезервирован для этого.

После того, как соединение SSL установлено, используется как минимум IMAPv4. Уровень SSL прозрачен для протокола IMAP ; т.е. никаких изменений в протокол IMAP не вносится.

В RFC 8314 использование IMAPS предпочтительнее STARTTLS и полностью незашифрованного IMAP.

сказка

В июле 1988 года Марк Криспин предложил вторую версию протокола SUMEX-AIM для тестирования в Интернете. SUMEX-AIM означает « Медицинский экспериментальный компьютер Стэнфордского университета для искусственного интеллекта в медицине » и означает сетевой проект по искусственному интеллекту в медицине в США .

В феврале 1991 года была опубликована третья версия как альтернатива новой второй версии Криспина от августа 1990 года.

В декабре 1994 года была опубликована первая не экспериментальная и четвертая версия. В декабре 1996 года было обнаружено, что одна из нескольких недокументированных версий протокола широко используется, а также первая редакция четвертой версии, которая была снова изменена в марте 2003 года.

Характеристики

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

  • RFC 1731 - механизмы аутентификации IMAP4
  • RFC 1732 - Совместимость IMAP4 с IMAP2 и IMAP2BIS
  • RFC 1733 - Распределенные модели электронной почты в IMAP4
  • RFC 2061 - Совместимость IMAP4 с IMAP2BIS
  • RFC 2062 - Протокол доступа к сообщениям Интернета - Устаревший синтаксис
  • RFC 2087 - расширение IMAP4 QUOTA
  • RFC 2088 - несинхронизирующие литералы IMAP4
  • RFC 2177 - команда IMAP4 IDLE
  • RFC 2180 - Практика работы с почтовыми ящиками с множественным доступом IMAP4
  • RFC 2193 - перенаправления почтовых ящиков IMAP4
  • RFC 2195 - расширение IMAP / POP AUTHorize для простого запроса / ответа
  • RFC 2221 - переходы для входа в систему IMAP4
  • RFC 2342 - Пространство имен IMAP4
  • RFC 2595 - Использование TLS с IMAP, POP3 и ACAP
  • RFC 2683 - Рекомендации по реализации IMAP4
  • RFC 2971 - расширение идентификатора IMAP4
  • RFC 3348 - расширение дочернего почтового ящика IMAP4
  • RFC 3501 - Протокол доступа к сообщениям Интернета - версия 4rev1
  • RFC 3502 - Расширение IMAP MULTIAPPEND
  • RFC 3503 - профиль уведомления об отправке сообщений (MDN) для протокола доступа к сообщениям в Интернете (IMAP)
  • RFC 3516 - расширение двоичного содержимого IMAP4
  • RFC 3656 - Протокол базы данных распределенных почтовых ящиков The Mailbox Update (MUPDATE)
  • RFC 3691 - команда IMAP UNSELECT
  • RFC 4314 - Расширение списка управления доступом (ACL) IMAP4
  • RFC 4315 - Протокол доступа к сообщениям в Интернете (IMAP) - Расширение UIDPLUS
  • RFC 4466 - Собранные расширения для IMAP4 ABNF
  • RFC 4467 - Протокол доступа к сообщениям Интернета (IMAP) - Расширение URLAUTH
  • RFC 4469 - Протокол доступа к сообщениям Интернета (IMAP) - Расширение CATENATE
  • RFC 4549 - Операции синхронизации для отключенных клиентов IMAP4
  • RFC 4551 - Расширение IMAP для условной операции STORE или повторной синхронизации быстрых изменений флагов
  • RFC 4731 - Расширение IMAP4 для команды SEARCH для управления типом возвращаемой информации
  • RFC 4959 - Расширение IMAP для первоначального ответа клиента на уровне простой аутентификации и безопасности (SASL)
  • RFC 4978 - Расширение IMAP COMPRESS
  • RFC 5032 - Расширение поиска WITHIN для протокола IMAP
  • RFC 5092 - схема URL-адресов IMAP
  • RFC 5161 - расширение IMAP ENABLE
  • RFC 5162 - Расширения IMAP4 для быстрой повторной синхронизации почтового ящика
  • RFC 5182 - расширение IMAP для ссылки на последний результат ПОИСКА
  • RFC 5255 - Интернационализация протокола доступа к сообщениям Интернета
  • RFC 5256 - Протокол доступа к сообщениям в Интернете - Расширения SORT и THREAD
  • RFC 5257 - Протокол доступа к сообщениям Интернета - Расширение ANNOTATE
  • RFC 5258 - Протокол доступа к сообщениям Интернета версии 4 - Расширения команд LIST
  • RFC 5464 - Расширение МЕТАДАННЫХ IMAP
  • RFC 5465 - расширение IMAP NOTIFY
  • RFC 5530 - коды ответа IMAP
  • RFC 5550 - электронная почта в Интернете для поддержки профилей различных сред обслуживания (Lemonade)
  • RFC 5593 - Протокол доступа к сообщениям Интернета (IMAP) - Расширение идентификатора доступа URL
  • RFC 5738 - Поддержка IMAP для UTF-8
  • RFC 5788 - Реестр ключевых слов IMAP4
  • RFC 5819 - Расширение IMAP4 для возврата информации о СОСТОЯНИИ в расширенном списке
  • RFC 5957 - Сортировка адресов на основе дисплея для расширения IMAP4 SORT
  • RFC 6154 - расширение списка IMAP для почтовых ящиков специального назначения
  • RFC 6203 - расширение IMAP4 для нечеткого поиска
  • RFC 6785 - Поддержка событий протокола доступа к сообщениям Интернета (IMAP) в сите
  • RFC 6851 - Протокол доступа к сообщениям Интернета (IMAP) - Расширение MOVE
  • RFC 7162 - Расширения IMAP: повторная синхронизация быстрой смены флагов (CONDSTORE) и быстрая повторная синхронизация почтового ящика (QRESYNC)
  • RFC 7377 - Расширение ПОИСКА для нескольких почтовых ящиков IMAP4

литература

Индивидуальные доказательства

  1. http://www.iana.org/assignments/port-numbers
  2. а б М. Криспин: RFC 1064 - Протокол интерактивного доступа к почте - версия 2 . Инженерная группа Интернета. Июль 1988. Проверено 5 февраля 2015 года.
  3. ^ IMAP: протокол доступа к сообщениям в Интернете - краткий обзор и история . Вашингтонский университет. 1996. Проверено 20 января 2012 года.
  4. ^ М. Криспин: Пайн не будет искать в моей почте IMAP . Google. 8 февраля 2003 г. Проверено 8 мая 2011 г.
  5. Статус IMAP4 . Вашингтонский университет. 1996. Проверено 20 января 2012 года.
  6. Изменения в Cyrus IMAP Server 2.3.x с тех пор . Университет Карнеги Меллон. Проверено 8 мая 2011 года.
  7. П. Хайнлайн, П. Хартлебен: Книга об IMAP: создание почтового сервера с Courier и Cyrus . Google. С. 107. Проверено 8 мая 2011 г.
  8. PB Koetter: UW IMAP, Courier, Cyrus и Dovecot в прямом сравнении . Linux New Media. Проверено 8 мая 2011 года.
  9. ^ Семена искусственного интеллекта . В кн . : Образовательно-исследовательский информационный центр . Министерство образования США . Проверено 5 февраля 2015 года.
  10. ^ Дж. Райс: RFC 1203 - Протокол интерактивного доступа к почте - версия 3 . Инженерная группа Интернета. Февраль 1991. Проверено 5 февраля 2015 года.
  11. ^ М. Криспин: RFC 1176 - Протокол интерактивного доступа к почте - версия 2 . Инженерная группа Интернета. Август 1990. Проверено 5 февраля 2015 года.
  12. ^ М. Криспин: RFC 1730 - Протокол доступа к сообщениям в Интернете - версия 4 . Инженерная группа Интернета. Декабрь 1994. Проверено 5 февраля 2015 года.
  13. М. Криспин: RFC 2061 - совместимость IMAP4 с IMAP2bis . Инженерная группа Интернета. Декабрь 1996 г. Проверено 5 февраля 2015 г.
  14. ^ М. Криспин: RFC 2060 - Протокол доступа к сообщениям в Интернете - версия 4rev1 . Инженерная группа Интернета. Декабрь 1996 г. Проверено 5 февраля 2015 г.
  15. ^ М. Криспин: RFC 3501 - Протокол доступа к сообщениям в Интернете - версия 4rev1 . Инженерная группа Интернета. March 2003. Проверено 5 февраля 2015 года.
  16. IMAP / POP RFC . Инженерная группа Интернета . Архивировано из оригинала 4 сентября 2011 Информация: архив ссылка автоматически вставляется и еще не была проверена. Проверьте исходную и архивную ссылку в соответствии с инструкциями, а затем удалите это уведомление. Проверено 31 июля 2011 года. @ 1@ 2Шаблон: Webachiv / IABot / www.apps.ietf.org