Метки: Imap 1с документооборот, outlook 2007 imap тормозит, imap или pop3, imap оставлять письма на сервере, imap яндекс почта.
Название: |
Internet Message Access Protocol |
---|---|
Уровень (по модели OSI): |
Прикладной |
Семейство: | |
Создан в: |
1986 г. |
Порт/ID: |
143/TCP, 993/TCP (IMAP over SSL) |
Назначение протокола: |
Доступ к почтовым ящикам |
Спецификация: |
RFC 3501 |
Основные реализации (клиенты): |
MUA (Outlook Express, Opera, Mozilla Thunderbird, The Bat! и др.) |
Основные реализации (серверы): |
UW IMAP, Courier, Cyrus, Dovecot |
IMAP (англ. Internet Message Access Protocol — «Протокол доступа к электронной почте Интернета») — протокол прикладного уровня для доступа к электронной почте.
Аналогично POP3, служит для работы со входящими письмами, однако обеспечивает дополнительные функции, в частности, возможность поиска по ключевому слову без сохранения почты в локальной памяти.
IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.
Для отправки писем используется протокол SMTP.
Как и POP3, протокол IMAP использует концепцию клиент-сервер с набором команд. С помощью команд осуществляется передача сообщений электронной почты от сервера клиенту. Клиент устанавливает для этой цели TCP-соединение с портом 143 на сервере. Далее сервер должен ответить специальным сообщением-приглашением.
Пример сеанса по протоколу IMAP:
1 [jessica@shadrach jessical$ telnet localhost 143 2 Trying 127.0.0.1 ... 3 Connected to localhost. 4 Escape character is '^]'. 5 * OK shadrach.smallorg.org IMAP4rev1 V12.250 server ready 6 a001 LOGOUT 7 * BYE shadrach.smallorg.org IMAP4rev1 server terminating connection 8 a001 OK LOGOUT completed 9 Connection closed by foreign host. 10 [jessica@snadrach jessica]$
В строке 1 показана команда на открытие сеанса с помощью telnet с портом 143 (порт IMAP по умолчанию). Строка 5 отображает приглашение, выданное сервером IMAP. В строке 6 клиентом задана команда закончить сеанс с сервером. Затем сервер посылает сообщение об окончании сеанса (строка 7) и закрывает соединение с клиентом.
Каждая команда, выдаваемая клиентом, предваряется уникальным идентификатором. Сервер может затем использовать этот идентификатор в своих ответах, что позволяет клиенту определить, к какой команде относится ответ сервера. Это особенно важно при выполнении сервером нескольких команд за сеанс. Идентификатор обычно представляет собой короткую строку алфавитно-цифровых символов, которая генерируется клиентом. Так, в строке 6 листинга клиентом был выбран идентификатор a001. Если бы клиенту потребовалось задавать и другие команды, то следующим идентификатором был бы a002 и т.д. Часто для упрощения идентификаторы команд в течение сеанса IMAP просто последовательно увеличивают один из своих разрядов.
После установления соединения клиент находится в состоянии ожидания проверки подлинности, так как для выполнения каких-либо операций со своим почтовым ящиком на сервере он должен идентифицировать себя. После идентификации на сервере клиент может использовать команды IMAP для управления сообщениями на сервере. Протоколом IMAP предусмотрена возможность поддержки пользователем нескольких почтовых ящиков на одном сервере. При этом клиент может читать, отправлять и удалять сообщения в любом из принадлежащих ему почтовых ящиков. Это серьезный шаг вперед, по сравнению с протоколом POP3.
Так же как и в протоколе POP3, в IMAP имеется несколько методов проверки подлинности клиента. Некоторые из них обеспечивают больший уровень безопасности, по сравнению с другими. В отличие от клиентов POP3, клиенты IMAP часто проводят довольно длительные сеансы с сервером при обработке сообщений. Таким образом, идентификатор пользователя и пароль не передаются по сети несколько раз в час, как это обычно происходит при работе по протоколу POP3. Передача идентификатора пользователя и пароля в зашифрованном виде остается актуальной и применяется по мере возможности.
Команда LOGIN позволяет клиенту при регистрации на сервере IMAP использовать идентификатор пользователя и пароль в обычном текстовом виде. Хотя это и не наилучший метод, все же иногда это единственная возможность подключиться к серверу. В следующем листинге представлен сеанс IMAP с использованием команды LOGIN:
1 [katie@shadrach katie]$ telnet localhost 143 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 * OK localhost IMAP4rev1 v12.250 server ready 6 a001 LOGIN katie boxcar 7 a001 OK LOGIN completed 8 a002 LOGOUT 9 * BYE shadrach.smallorg.org IMAP4rev1 server terminating connection 10 a002 OK LOGOUT completed 11 Connection closed by foreign host. 12 [katie@shadrach katie]$
В строке 6 видно, как пользователь katie регистрируется на сервере IMAP с помощью команды LOGIN. В строке 7 показан ответ сервера. Сервер в ответе указал идентификатор команды клиента (a001).
С помощью команды AUTHENTICATE клиент может использовать при регистрации на сервере IMAP альтернативные методы проверки подлинности. Индивидуальная проверка подлинности пользователей не является обязательной и поддерживается не всеми серверами IMAP. К тому же реализации такой проверки могут различаться в зависимости от сервера. Когда клиент выдает команду AUTHENTICATE, сервер отвечает на нее строкой вызова в кодировке base64. Далее в обязанности клиента входит ответ на вызов сервера о проверке подлинности, также закодированный base64. Если на сервере не поддерживается метод проверки подлинности, предложенный клиентом, он включает в свой ответ отрицательное слово NO. После этого клиент должен продолжить переговоры по согласованию метода проверки подлинности. Если все попытки определить метод проверки подлинности потерпели неудачу, то клиент предпринимает попытку зарегистрироваться на сервере посредством команды LOGIN. Пример сеанса с применением AUTHENTICATE представлен в листинге:
1 [riley@shadrach riley]$ telnet localhost 143 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 * OK localhost IMAP4rev1 v12.250 server ready 6 a1 AUTHENTICATE KERBEROS_V4 7 a1 NO AUTHENTICATE KERBEROS_V4 failed 8 a2 AUTHENTICATE GSSAPI 9 a2 NO AUTHENTICATE GSSAPI failed 10 a3 AUTHENTICATE LOGIN 11 + VXNlciBOYU1lAA== 12 * 13 a3 NO AUTHENTICATE LOGIN failed 14 a4 LOGIN riley firetruck 15 a4 OK LOGIN completed 16 a5 LOGOUT 17 * BYE shadrach.smallorg.org IMAP4rev1 server terminating connection 18 a5 OK LOGOUT completed 19 connection closed by foreign host. 20 [riley@shadrach riley]$
В строках 6–9 показаны попытки клиента согласовать с сервером IMAP метод проверки подлинности. В строке 10 показано, что метод проверки, приемлемый и для клиента, и для сервера, найден. Отвечая, сервер в строке 11 выдает кодированную строку с вызовом в кодировке base64. Однако в строке 12 клиент отвергает попытку регистрации и возобновляет ее лишь в строке 14 с помощью команды LOGIN.
IMAP обладает хорошей системой флагов состояния почты. Каждое сообщение снабжается флагом, который отображает его статус. Флаг может быть постоянным или задаваться на время сеанса. Постоянные флаги могут изменяться клиентом и сохраняться вне зависимости от сеансов. Флаги, назначаемые на время сеанса, действительны только на время текущего сеанса IMAP.
Варианты флагов почтовых сообщений:
Почтовому сообщению может соответствовать 0 флагов или несколько флагов. Информация о флагах передается клиенту вместе с самим сообщением. В обязанности клиента входит интерпретация флагов соответствующим образом.
Доступные в любом состоянии:
CAPABILITY
— запрос списка поддерживаемых возможностей (расширений) и их параметровNOOP
— пустая команда, используется чтобы не разорвать сессию по тайм-ауту;LOGOUT
— конец сеансаSTARTTLS
— перевод сеанса в защищенный режимДоступные в неаутентифицированном состоянии:
STARTTLS
— перевод сеанса в защищенный режимAUTHENTICATE
— передача зашифрованных аутентификационных данных с использованием SASLLOGIN
— аутентификация при помощи регистрационного имени и пароля, передаваемых открытым текстомДоступные в аутентифицированном состоянии:
SELECT
— принимает папку за текущую;EXAMINE
— аналогична SELECT
, но доступ будет дан только для чтения;CREATE
— создать почтовый ящик;DELETE
— удалить почтовый ящик;RENAME
— переименовать почтовый ящик;SUBSCRIBE
— почтовый ящик помечается как «активный». Эта пометка используется для вывода списка почтовых ящиков при помощи команды LSUBUNSUBSCRIBE
— снимает с почтового ящика пометку «активный»LIST
— возвращает список папок в почтовом ящике;LSUB
— возвращает имена почтовых ящиков с пометкой «активный»STATUS
— информация о почтовом ящике, в том числе количество непрочитанных сообщений;APPEND
— добавить сообщение в почтовый ящик.Доступные в состоянии selected:
CHECK
— проверка выбранного почтового ящикаCLOSE
— выбранный почтовый ящик закрываетсяEXPUNGE
— из выбранного почтового ящика удаляются все помеченные для удаления сообщенияSEARCH
— поиск сообщений в почтовом ящике;FETCH
— получить сообщение или его часть;STORE
— изменяет значения флагов для указанного сообщения или сообщенийCOPY
— копирует указанные сообщения из текущего почтового ящика в указанный почтовый ящикUID
— команда префикс, запрос на получение уникальных идентификаторов сообщенийЭкспериментальные/расширения:
X<atom>
— любые команды, начинающиеся с «X» — экспериментальные.В IMAP нет команды на перемещение сообщения из одного ящика в другой. Вместо этого, нужно сделать COPY
, а потом отметить сообщение на удаление. Некоторые IMAP-серверы предоставляют команды из раздела расширенных для перемещения сообщения: например, сервер GroupWise поддерживает команду XGWMOVE
[1].
IMAP был разработан для замены более простого протокола POP3 и имеет следующие преимущества по сравнению с последним:
Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP-трафик можно зашифровать с помощью SSL.
Схемы URI | |
---|---|
Официальные | aaa: • aaas: • acap: • cap: • cid: • crid: • data: • dav: • dict: • dns: • fax: • file: • ftp: • go: • gopher: • h323: • http: • https: • im: • imap: • ldap: • mailto: • mid: • news: • nfs: • nntp: • pop: • pres: • rtsp: • sip: • sips: • snmp: • tel: • telnet: • urn: • wais: • xmpp: |
Неофициальные | about: • aim: • bolo: • btc: • bzr: • callto: • chrome: • cvs: • daap: • ed2k: • ed2kftp: • feed: • fish: • git: • gizmoproject: • iax2: • irc: • ircs: • itms: • lastfm: • ldaps: • magnet: • mms: • msnim: • psyc: • rsync: • secondlife: • skype: • ssh: • svn: • sftp: • smb: • sms: • soldat: • steam: • unreal: • ut2004: • view-source: • webcal: • xfire: • ymsgr: |
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
---|---|
Физический | |
Канальный |
Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • Shortest Path Bridging • SMDS • STP • ERPS |
Сетевой | |
Транспортный | |
Сеансовый | |
Представления | |
Прикладной | |
Другие прикладные |
Bitcoin • OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype |
Tags: Imap 1с документооборот, outlook 2007 imap тормозит, imap или pop3, imap оставлять письма на сервере, imap яндекс почта.