Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - IMAP16 июня 2011Оглавление: 1. IMAP 2. Преимущества по сравнению с POP3 IMAP протокол прикладного уровня для доступа к электронной почте. Аналогично POP3, служит для работы со входящими письмами, однако обеспечивает дополнительные функции, в частности, возможность поиска по ключевому слову без сохранения почты в локальной памяти. IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя без постоянной пересылки с сервера и обратно файлов с полным содержанием писем. Для отправки писем используется протокол SMTP. Описание протокола IMAPКак и 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$ В строке 1 показана команда на открытие сеанса с помощью telnet с портом 143. Строка 5 отображает приглашение, выданное сервером IMAP. В строке 6 клиентом задана команда закончить сеанс с сервером. Затем сервер посылает сообщение об окончании сеанса и закрывает соединение с клиентом. Каждая команда, выдаваемая клиентом, предваряется уникальным идентификатором. Сервер может затем использовать этот идентификатор в своих ответах, что позволяет клиенту определить, к какой команде относится ответ сервера. Это особенно важно при выполнении сервером нескольких команд за сеанс. Идентификатор обычно представляет собой короткую строку алфавитно-цифровых символов, которая генерируется клиентом. Так, в строке 6 листинга клиентом был выбран идентификатор a001. Если бы клиенту потребовалось задавать и другие команды, то следующим идентификатором был бы a002 и т.д. Часто для упрощения идентификаторы команд в течение сеанса IMAP просто последовательно увеличивают один из своих разрядов. После установления соединения клиент находится в состоянии ожидания проверки подлинности, так как для выполнения каких-либо операций со своим почтовым ящиком на сервере он должен идентифицировать себя. После идентификации на сервере клиент может использовать команды IMAP для управления сообщениями на сервере. Протоколом IMAP предусмотрена возможность поддержки пользователем нескольких почтовых ящиков на одном сервере. При этом клиент может читать, отправлять и удалять сообщения в любом из принадлежащих ему почтовых ящиков. Это серьезный шаг вперед, по сравнению с протоколом POP3. Методы проверки подлинности пользователя в IMAPТак же как и в протоколе POP3, в IMAP имеется несколько методов проверки подлинности клиента. Некоторые из них обеспечивают больший уровень безопасности, по сравнению с другими. В отличие от клиентов POP3, клиенты IMAP часто проводят довольно длительные сеансы с сервером при обработке сообщений. Таким образом, идентификатор пользователя и пароль не передаются по сети несколько раз в час, как это обычно происходит при работе по протоколу POP3. Передача идентификатора пользователя и пароля в зашифрованном виде остается актуальной и применяется по мере возможности. Команда LOGINКоманда LOGIN позволяет клиенту при регистрации на сервере IMAP использовать идентификатор пользователя и пароль в обычном текстовом виде. Хотя это и не наилучший метод, все же иногда это единственная возможность подключиться к серверу. В следующем листинге представлен сеанс IMAP с использованием команды LOGIN: 1$ 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$ В строке 6 видно, как пользователь katie регистрируется на сервере IMAP с помощью команды LOGIN. В строке 7 показан ответ сервера. Сервер в ответе указал идентификатор команды клиента. Команда AUTHENTICATEС помощью команды AUTHENTICATE клиент может использовать при регистрации на сервере IMAP альтернативные методы проверки подлинности. Индивидуальная проверка подлинности пользователей не является обязательной и поддерживается не всеми серверами IMAP. К тому же реализации такой проверки могут различаться в зависимости от сервера. Когда клиент выдает команду AUTHENTICATE, сервер отвечает на нее строкой вызова в кодировке base64. Далее в обязанности клиента входит ответ на вызов сервера о проверке подлинности, также закодированный base64. Если на сервере не поддерживается метод проверки подлинности, предложенный клиентом, он включает в свой ответ отрицательное слово NO. После этого клиент должен продолжить переговоры по согласованию метода проверки подлинности. Если все попытки определить метод проверки подлинности потерпели неудачу, то клиент предпринимает попытку зарегистрироваться на сервере посредством команды LOGIN. Пример сеанса с применением AUTHENTICATE представлен в листинге: 1$ 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$ В строках 6–9 показаны попытки клиента согласовать с сервером IMAP метод проверки подлинности. В строке 10 показано, что метод проверки, приемлемый и для клиента, и для сервера, найден. Отвечая, сервер в строке 11 выдает кодированную строку с вызовом в кодировке base64. Однако в строке 12 клиент отвергает попытку регистрации и возобновляет ее лишь в строке 14 с помощью команды LOGIN. Клиентская часть протокола IMAPФлаги почтового сообщения IMAPIMAP обладает хорошей системой флагов состояния почты. Каждое сообщение снабжается флагом, который отображает его статус. Флаг может быть постоянным или задаваться на время сеанса. Постоянные флаги могут изменяться клиентом и сохраняться вне зависимости от сеансов. Флаги, назначаемые на время сеанса, действительны только на время текущего сеанса IMAP. Варианты флагов почтовых сообщений:
Почтовому сообщению может соответствовать 0 флагов или несколько флагов. Информация о флагах передается клиенту вместе с самим сообщением. В обязанности клиента входит интерпретация флагов соответствующим образом. Команды протоколаДоступные в любом состоянии:
Доступные в неаутентифицированном состоянии:
Доступные в аутентифицированном состоянии:
Доступные в состоянии selected:
Экспериментальные/расширения:
В IMAP нет команды на перемещение сообщения из одного ящика в другой. Вместо этого, нужно сделать Просмотров: 3122
|