13 лет назад 1 июля 2005 в 20:55 83

В настоящее время широкое распространение получили два протокола электронной почты: POP (Post Office Protocol) и IMAP (Internet Message Access Protocol). В чем их различие и что у них общего? Какие преимущества дает пользователю тот или иной протокол? Как использовать достоинства обоих протоколов?

МЕТОДЫ РАБОТЫ ПОЧТОВЫХ СЕРВИСОВ
Принято считать, что электронная почта зародилась в 1970 году. За 35 лет своего развития она превратилась в самый популярный сервис интернета – каждый сетевой житель имеет как минимум один электронный почтовый адрес, откуда он регулярно забирает корреспонденцию в соответствии с протоколом POP3 или IMAP4.

Перед тем как приступать к рассмотрению этих протоколов, следует разобраться с двумя методами доступа к новым сообщениям, лежащим на сервере – offline и online. Первый метод является более традиционным и используется тогда, когда требуется получать почту на единственный компьютер. Главный принцип этого метода: клиент скачал, сервер удалил. Именно это обеспечивает как простоту реализации, так и достаточно высокую надежность работы – ситуация переполнения практически невозможна за исключением случаев, когда почта не забиралась очень долго.

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

Метод online подразумевает ведущую роль сервера в связке клиент-сервер. Вся корреспонденция, включая почтовые архивы, хранится на сервере, поэтому из любой точки можно получить полноценный доступ не только к новым сообщениям, но и ко всей почтовой базе. Интересно, что метод online реализуется без использования протоколов общего доступа к файлам, которые могли бы сократить применимость метода, ибо такие протоколы реализованы не для каждой платформы и могут привести к немотивированной в данном случае блокировке файлов.

На первый взгляд может показаться, что метод offline значительно уступает своему конкуренту и должен им потихоньку вытесняться. Однако этого не происходит, и тому есть свои причины. У метода offline есть два достоинства, которые в ряде случаев оказываются решающими. Во-первых, этот метод требует минимального времени при соединении с сервером. Во-вторых, он минимально загружает ресурсы сервера.

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

ПРОТОКОЛЫ
Протокол POP является самым старым и поэтому наиболее распространенным. Он отличается простотой реализации и наличием большого числа клиентских программ. Разрабатывался этот протокол для модели offline, при этом почта передается с сервера целиком и полностью – все заботы по ее фильтрации возлагаются на клиента.

Фактически у POP-сервера имеется только одна задача: переслать почту. В связи с этим иногда POP-сервер называют сервисом хранения и пересылки. В своем классическом варианте POP подразумевает удаление с сервера доставленной получателю почты. Однако это оказалось слишком неудобным, поэтому практически везде POP-сервер включает в себя протокол RFSP (Remote File System Protocol), при помощи которого реализуется некий псевдоонлайновый режим, позволяющий почтовому клиенту обновлять почтовый ящик или устанавливать флаги сообщений.

Кстати, протокол IMAP можно применять и для offline-доступа, хотя это будет сильно напоминать стрельбу из пушки по воробьям. Более того, поддержку режима offline для IMAP способны обеспечить не все клиенты, несмотря на возможности протокола. Большинство проблем решает протокол IMSP (Internet Message Support Protocol), который позволяет управлять настройками пользователей.

IMAP дает возможность запросить у сервера только заголовки писем или приказать найти нужное сообщение по заданному критерию. Прямо на сервере каждому сообщению может быть придан некий статус. Например, сообщение может быть помечено к удалению или как уже отвеченное. Сервер на основе IMAP4 понимает постоянные флаги сообщений, включая традиционные “Seen”, “Deleted”, “Answered”, причем пользователь может определять собственные флаги. Допускается перемещение писем из одного ящика в другой. Интересно, что ящики могут физически находиться как на одном, так и на разных серверах – от этого ровным счетом ничего не меняется. Проще говоря, пользователь управляет корреспонденцией на сервере точно так, как он делает в случае POP-сервера на локальной машине.

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

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

Наконец, IMAP4 включает в себя механизм для оптимизации работы по низкоскоростным каналам. Этот механизм предусматривает передачу сообщения не полностью, а по частям. Например, пользователь может получить наиболее важную часть письма, а все остальное отложить до лучших времен. Это дает ощутимые преимущества при получении послания с мультимедийным вложением, ведь пояснительный текст можно прочитать сразу, а сам файл никуда не убежит – пусть себе лежит на сервере, пока до него руки не дойдут. Также преимуществом IMAP4 является высокая эффективность обработки MIME (Multipurpose Internet Mail Extensions), что является стандартом для кодирования сообщений с присоединенными файлами.

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

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

Итак:
– IMAP4 предоставляет потребителю более высокую функциональность, чем POP3;
– IMAP4 позволяет управлять несколькими почтовыми ящиками, а не одним, как POP3;
– IMAP4 поддерживает примитивы для оптимизации доступа, чего лишен POP3.

КАК РАБОТАТЬ С IMAP
С точки зрения пользователя работа с IMAP4-сервером мало чем отличается от работы с сервером POP3. Тем более что большинство почтовых программ, предназначенных для широкого применения в быту, используют далеко не все возможности этого протокола.

Из почтовых клиентов, которые получили достаточное распространение, чтобы можно было говорить о них как о типичных, с протоколом IMAP взаимодействуют Outlook, Outlook Express, Opera Mail и почтовые клиенты проекта Mozilla. На официальном сайте протокола (www.imap.org) функционирует база данных программ, которые его поддерживают. За более полной информацией следует обратиться туда. Правда, нам на запрос о клиентах база данных не сообщила о Thunderbird, хотя он прекрасно поддерживает IMAP.

Подключение почтового ящика, находящегося на IMAP4-сервере, производится по той же самой схеме, что и в случае с POP3. Разве что тем, кто настраивает свои файерволлы на максимальный уровень безопасности, следует учесть, что в случае IMAP обмен пакетами производится по протоколу TCP через 143-й порт.

После правильной настройки дерево папок, отображаемое клиентом, скорее всего, будет отличаться от привычного – часть папок будет отсутствовать. Чаще всего клиент покажет только две папки: “Входящие” и “Удаленные”. Дело в том, что клиент, работающий по протоколу IMAP4, собственных папок не имеет, а только отображает данные, имеющиеся на сервере. Причем не все, а только указанные в настройках сервера. Если же вас не устраивает количество отображаемых папок, то следует зайти на сервер и подкорректировать настройки.

В различных клиентах это делается по-разному. В Opera Mail и Outlook следует выбрать пункт меню “Папки IMAP”, в “Thunderbird” – “Подписаться”. После этого клиент отправит вас на сервер, и вы увидите все существующие папки учетной записи. Если же там ничего, кроме виденного раньше, не обнаружится, то папки можно создать самому точно так же, как при работе с клиентом по протоколу POP3. Разница будет только в том, что папки создадутся не на локальной машине, а на сервере.

Удобство такого подхода очевидно – зайдя на сервер с любой машины любым поддерживающим IMAP клиентом, вам не придется настраивать ровным счетом ничего. Вы проделали эту операцию всего один раз и до тех пор, пока вы не решите что-то поменять, настройки будут сохраняться. Второй убитый заяц – почтовые архивы. Разумеется, крах системы или вообще жесткого диска на собственной машине – событие очень неприятное. Но если вы работаете по протоколу IMAP, утешением послужит то, что почта не пострадала. А у многих пользователей только почтовые архивы и представляют какую-либо ценность.

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

Для облегчения обработки писем существуют флаги, которыми можно присваивать посланию определенный статус. Причем этот статус будет храниться на сервере – при работе с почтой из другого места пользователю не придется вспоминать про установленный им когда-то статус писем.
Возможно возникновение ситуации, при которой у пользователя появится необходимость знакомить с некоторыми письмами кого-то другого. В случае с POP3-сервером эта проблема решается путем пересылки письма. Разумеется, протокол IMAP4 позволяет осуществлять эту операцию. Однако он предлагает и более красивое решение: папки общего доступа. Для того чтобы IMAP-сервер мог обеспечивать совместную работу над корреспонденцией, от пользователя требуется только сообщить серверу логины пользователей, которым разрешен доступ к этой папке.

Правда, одно ограничение для IMAP-протокола имеется. Существуют серверы, понимающие оба протокола – и POP3, и IMAP4. Выбор в качестве рабочего протокола более продвинутого варианта делает нежелательным использование POP3. В этом случае могут возникнуть малоприятные ситуации. Во-первых, клиенты, работающие через POP3, могут удалять почту с сервера при удалении ее из базы клиента. Поэтому следует быть внимательным и не отправить в небытие что-то действительно нужное. Во-вторых, POP3-клиент периодически проверяет почту на сервере и загружает новые письма. А при помощи IMAP4 можно переносить письма из папки в папку на сервере.

Если вдруг возникнет необходимость перенести письмо в папку “Входящие”, то POP3-клиент добросовестно решит, что получено новое сообщение и при определенных настройках автоматически загрузит его на локальную машину. Если письмо небольшое, то дело ограничится мелким неудобством, а если его размер достаточно велик, то и необоснованным, с точки зрения практической пользы, увеличением счета от провайдера. Поэтому, если вы не уверены в собственной внимательности, не стоит использовать мультипротокольный метод – лучше остановиться на чем-то одном.