Протокол IMAP

Автор: manager Четверг, Март 20th, 2008 Нет комментариев

Рубрика: Интернет

Протокол POP3 имеет ряд существенных недостатков, самый серьёзный из которых — невозможность управления почтой прямо на сервере. Сообщения в этом протоколе загружаются с сервера все сразу, после чего, как правило, удаляются с него — фактически пользователю не дают выбрать, какие сообщения он хочет скачать, а какие — удалить прямо с сервера.

Для решения вот такой проблемы и был создан протокол IMAP — Internet Mail Access Protocol (Протокол Доступа к Почте через Интернет), разработанный в Вашингтонском университете, предполагает возможность получения пользователями электронной почты из одного почтового ящика из различных мест, при этом сообщения находятся в одном месте. Пользователю даётся возможность управлять сообщениями прямо на сервере, не загружая их на свой компьютер. У данного протокола есть и плохая черта — то, что вся почта хранится на сервере, поэтому при управлении почтовым сервером, поддерживающим протокол IMAP, надо особенно осторожно относиться к определению дискового пространства под ящики пользователей, чтобы система вовремя перестала принимать новые сообщения, не допуская переполнения диска и остановки сервера.

Текущая версия протокола — 4 с номером реализации 1 или сокращённо — IMAP4rev1. Протокол полностью описан в документе RFC 2060.

Так же как и POP3, протокол IMAP использует концепцию клиент-сервер с набором команд. С помощью команд осуществляется передача сообщений электронной почты от сервера клиенту. Клиент устанавливает для этой цели TCP-соединение с портом 143 на сервере. Далее сервер должен ответить специальным сообщением-приглашением.
Каждая команда клиента предваряется уникальным идентификатором. Сервер может затем использовать этот идентификатор в своих ответах, что позволяет клиенту определить, к какой команде относится ответ сервера. Это особенно важно при выполнении сервером нескольких команд за один сеанс. Идентификатор — коротка строка алфавитно-цифровых символов. Идентификатор задаётся последовательно и автоматически.

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

Команды:
· LOGIN
· AUTHENTICATE

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

По умолчанию почтовый ящик носит название INBOX. Клиент может создавать новые почтовые ящики, куда может перемещать сообщения из папки INBOX.

Каждое сообщение имеет свой уникальный идентификатор — UID, по которому они идентифицируются в почтовом ящике. Каждому почтовому ящику соответствует уникальный идентификатор достоверности (UIDVALIDITY). Она должна присутствовать во время всех сеансов с почтовым ящиком, если все индикаторы сообщений в ящике остались неизменными.

Каждое сообщение имеет флаг, отображающий его статус. Флаги:
· \Seen — прочитано
· \Answered — послан ответ
· \Flagged — принудительно помечено
· \Deleted — удалено
· \Draft — не окончено (черновик)
· \Recent — новое сообщение
Команды IMAP:
· SELECT
· EXAMINE
· CREATE
· DELETE
· RENAME
· SUBSCRIBE
· UNSUBSCRIBE
· LIST
· LSUB
· STATUS
· APPEND
· CHECK
· CLOSE
· EXPUNGE
· SEARCH
· FETCH
· STORE
· COPY
· UID
· CAPABILITY
· NOOP
· LOGOT

Подробно о протоколе IMAP вы можете прочитать в следующих документах RFC:
RFC-1731 Методы установления подлинности пользователя;
RFC-1732, RFC-2061 Совместимость с IMAP2 и IMAP2bis;
RFC-1733 Распределённые электронные модели почтовых систем в IMAP4;
RFC-2086 ACL-расширение для IMAP4;
RFC-2087 QUOTA-расширение для IMAP4;
RFC-2088 Несинхронизируемые литералы (literals) IMAP4;
RFC-2095, RFC-2195 IMAP/POP расширение проверки подлинности пользователя для простых запросов;
RFC-2177 IDLE команда IMAP4;
RFC-2180 Практика многократного доступа к ящику IMAP4;
И других.

Сайт автора: Windows City

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты