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

POP3 — интернет-протокол прикладного уровня, обеспечивающий доступ к почтовому серверу посредством TCP/IP и с использованием порта 110.
IMAP — интернет-протокол прикладного уровня, обеспечивающий доступ к почтовому серверу посредством TCP и с использованием порта 143.

Разница между POP3 и IMAP

Разница между POP3 и IMAP прикладная. Оба протокола выполняют идентичные задачи, только POP3 позволяет скачивать все файлы единовременно (в этих файлах и хранится корреспонденция), а IMAP — сначала список файлов и потом выборочно — сами. Это основное отличие протоколов, и более новый IMAP был создан именно для реализации такого отличия: клиентов не устраивала необходимость разбирать почту локально, тогда как на сервере после загрузки файлы удалялись. На серверах IMAP пользователь самостоятельно управляет своими сообщениями.
Клиенты pop3 подключаются к сети только для скачивания файлов на локальный компьютер, отключаются после завершения операции и дальнейшая работа программ проходит в оффлайн-режиме. Клиенты IMAP могут работать и в оффлайне, но онлайн для них предоставляет больше возможностей: например, управление сообщениями на сервере. Как следствие, оффлайн-доступ требует меньше ресурсов и более быстрый, онлайн же более зависим от состояния сети и демонстрирует относительно длительное время отклика.
POP3 предполагает монопользовательский доступ к почтовому ящику, IMAP разрешает подключение к нему нескольких клиентов, при этом работа любого из них не ограничивается, и каждый видит изменения, вносимые другими. Также IMAP позволяет пользователю видеть статус сообщений, перемещать их, создавать папки и удалять так, будто он имеет дело с локальной копией. Автоматического удаления сообщений с сервера не происходит.
Еще одно важное отличие IMAP от POP3 — в возможности расширения протокола IMAP и получения в итоге тонкой настройки, например, прав доступа клиентов к серверу. Несмотря на то, что POP3 ввиду своего долгожительства распространен шире и настроить его проще, IMAP представляется более удобным при решении многих задач, к примеру, корпоративных.

TheDifference.ru определил, что отличие IMAP от POP3 заключается в следующем:

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

Базовые операции

Первоначально, сервер прослушивает TCP соединение на порту 110. Когда клиент желает воспользоваться сервисом POP3, он должен установить соединение с сервером. После установки соединения сервер посылает клиенту приветствие. Клиент и POP3 сервер обмениваются командами и ответами (в указанном порядке) до тех пор, пока соединение не будет закрыто или прервано. Команды POP3 состоят из ключевого слова, за которым может следовать один или несколько параметров. Все команды заканчиваются парой CRLF. Ключевые слова и аргументы состоят из печатаемых ASCII символов. Ключевые слова и аргументы разделены одиночным пробелом. Ключевые слова состоят из 3-х или 4-х символа, каждый аргумент может быть длиной до 40 символов.
Ответы состоят из индикатора состояния и ключевого слова. Все ответы заканчиваются парой CRLF. В настоящее время есть два индикатора состояния: положительный (+OK) и отрицательный (-ERR).

Определенные ответы могут быть многострочными. В этом случае, после первой строки ответа заканчивающейся CRLF, каждая дополнительно посланная строка заканчивается парой CRLF. После того как все строки ответа посланы, последняя строка будет заканчиваться завершающим октетом — символом. («.», десятичный код 46) и парой CRLF. POP3 сессия состоит из нескольких стадий. После установки TCP соединения, сервер посылает приветствие и сессия переходит в состояние AUTHORIZATION. На этом этапе клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в состояние TRANSACTION. В этой стадии клиент запрашивает выполнение команд на сервере. Когда клиент посылает команду QUIT сессия переходит в состояние UPDATE. На этом этапе POP3 сервер освобождает все ресурсы занятые в стадии TRANSACTION и заканчивает работу. TCP соединение после этого закрывается. POP3 сервер МОЖЕТ иметь inactivity autologout таймер (таймер авто-завершения сессии при бездействии). Такой таймер ДОЛЖЕН быть установлен как минимум на 10 минут. Если клиент не передает серверу команды заданный интервал времени, то сервер разрывает TCP соединение без перехода в состояние UPDATE, т.е. без удаления сообщений и посылки каких либо ответов клиенту.

Состояние AUTHORIZATION

После открытия клиентом TCP соединения, сервер посылает однострочное приветствие. Строка должна заканчиваться CRLF.
Пример:

S: +OK POP3 server ready

Примечание:
В качестве приветствия POP3 сервер должен всегда посылать положительный ответ.

Теперь сессия находится в состоянии AUTHORIZATION. Клиент должен идентифицировать себя на сервере. В данном документе описано два способа, комбинация команд USER и PASS и команда APOP. Для идентификации с помощью команд USER и PASS, клиент должен сначала послать команду USER. Если сервер ответил положительным индикатором состояния (+OK), то клиент должен послать команду PASS чтобы закончить авторизацию или послать команду QUIT для завершения сессии. Если сервер отправил отрицательный ответ (-ERR) на команду USER, то можно повторить авторизацию или закончить сессию командой QUIT.
После получения команды PASS, сервер использует пару аргументов USER и PASS для определения доступа к почтовому ящику.
Как только сервер определил с помощью какой либо команды идентификации, что клиенту нужно дать доступ к соответствующему почтовому ящику, POP3 сервер получает монопольный доступ к почтовому ящику, чтобы предотвратить изменение или удаление сообщений до состояния UPDATE. Если блокировка прошла успешно, сервер посылает положительный ответ и строку приветствия. Теперь сессия переходит в состояние TRANSACTION без сообщений помеченных как удаленные. Если почтовый ящик не может быть открыт по каким либо причинам (например, не может быть выполнена блокировка или клиенту отказано в доступе к соответствующему почтовому ящику), сервер отвечает отрицательным индикатором состояния. После отрицательного ответа сервер может закрыть соединение. Если сервер не закрыл соединение, клиент может послать новую команду идентификации и начать все заново или послать команду QUIT.
После того как сервер открыл почтовый ящик, он присваивает номер каждому сообщению и отмечает размер сообщения в октетах. Первое сообщение будет иметь номер 1, следующее – номер 2 и так далее. В POP3 командах все числа представлены в десятичной системе.

Вот резюме по трем командам рассмотренным к настоящему времени:

USER имя

Аргументы:
Строка идентификации почтового ящика (обязательный).

Ограничения:
Может быть передана только в состоянии AUTHORIZATION после POP3 приветствия или неуспешной команды USER или PASS.

Возможные ответы:

OK name is a valid mailbox -ERR never heard of mailbox name

PASS строка

Аргументы:
пароль к почтовому ящику (обязательный).

Ограничения:
Может быть передана только в состоянии AUTHORIZATION после успешной команды USER.

Подробности:
Команда PASS имеет только один аргумент, сервер может трактовать пробел в параметре как часть пароля, вместо разделителя аргументов.

Возможные ответы:

OK maildrop locked and ready -ERR invalid password -ERR unable to lock maildrop

C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: +OK mrose"s maildrop has 2 messages (320 octets) ... C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: -ERR maildrop already locked

QUIT

Аргументы:
нет

Ограничения:
нет

Возможные ответы:

C: QUIT S: +OK dewey POP3 server signing off

Состояние TRANSACTION

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

STAT

Аргументы:
нет

Ограничения:

Подробности:
POP3 сервер отправляет положительный ответ со строкой содержащей информация о почтовом ящике. Эта строка называется «drop listing». Для легкого разбора, POP3 сервера использую определенный формат для «drop listing». Положительный ответ включает в себя: индикатор состояния (+OK), дальше следуют число сообщений и размер сообщений в октетах, разделенные одиночным пробелом. Сообщения, помеченные как удаленные, не учитываются.

Возможные ответы:

C: STAT S: +OK 2 320

LIST сообщение

Аргументы:
Номер сообщения (необязательный), сообщения, помеченные как удаленные, не учитываются.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

Подробности:
Если задан аргумент, сервер передает положительный ответ со строкой информации для заданного сообщения. Такая строка называется «scan listing». Если аргумент не задан и то сервер посылает многострочный ответ. После индикатора состояния (+OK), для каждого сообщения в почтовом ящике, POP3 сервер посылает строку содержащую информацию для данного сообщения. Эта строка называется “scan listing”. Все POP3 сервера используют определенный формат для “scan listing”. “scan listing” состоит из номера сообщения после которого, через одиночный пробел следует точный размер сообщения в октетах. Данный документ не указывает что должно следовать за размером сообщения, единственное требование чтобы ответ заканчивался парой CRLF. Различные расширения могут включать дополнительную информацию.

Возможные ответы:

OK scan listing follows -ERR no such message

C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . ... C: LIST 2 S: +OK 2 200 ... C: LIST 3 S: -ERR no such message, only 2 messages in maildrop

RETR сообщение

Аргументы:

Ограничения:
Может быть передана только в состоянии TRANSACTION.

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

Возможные ответы:

OK message follows -ERR no such message

DELE сообщение

Аргументы:
Номер сообщения (обязательный), сообщения, помеченные как удаленные, не учитываются.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

Подробности:
POP3 сервер помечает сообщение как удаленное. Все последующие обращения к этому сообщению будут вызывать ошибку. Фактически сервер не удаляет сообщение, пока не наступит состояние UPDATE.

Возможные ответы:

OK message deleted -ERR no such message

C: DELE 1 S: +OK message 1 deleted ... C: DELE 2 S: -ERR message 2 already deleted

NOOP

Аргументы:
Нет.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

Подробности:
Сервер ничего не делает и отвечает только положительно.

Возможные ответы:

RSET

Аргументы:
Нет.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

Подробности:
Если сообщение было помечено как удаленное, то сервер снимает эту отметку. Ответ всегда положительный.
Возможные ответы:

Состояние UPDATE

Когда клиент посылает команду QUIT в состоянии TRANSACTION, сервер переходит на стадию UPDATE (Обратите внимание, что если клиент посылает команду в состоянии AUTHORIZATION, то сервер завершает сессию и не входит в стадию UPDATE). Если сессия завершается по каким-либо другим причинам, без посылки команды QUIT, POP3 сессия не входит в стадию UPDATE и ни одно сообщение из почтового ящика не должно быть удаленно.

QUIT

Аргументы:
Нет.

Ограничения:
Нет.

Подробности:
Сервер удаляет все сообщения помеченные как удаленные. Посылается ответ. TCP соединение закрывается.

Возможные ответы:

C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) ... C: QUIT S: +OK dewey POP3 server signing off (2 messages left) ...

Необязательные команды

POP3 команды, описанные выше должны поддерживаться всеми POP3 серверами. Дополнительные команды дают клиенту большую свободу в обработке сообщений. Примечание: этот документ поощряет поддержку дополнительных команд, вместо внесений дополнительных сведений в “drop listing” и “scan listing”.

TOP сообщение n

Аргументы:
Номер сообщения (обязательный) и неотрицательное число, указывающее на количество строк тела сообщения которое сервер передаст клиенту, аргумент обязательный. Нельзя обращаться к сообщениям помеченным как удаленные.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

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

Примечание:
Если число строк, которые требует клиент, больше числа строк в сообщение, то сервер передает все сообщение полностью.

Возможные ответы:

OK top of message follows -ERR no such message

C: TOP 1 10 S: +OK S: S: . ... C: TOP 100 3 S: -ERR no such message

UIDL сообщение

Аргументы:
Номер сообщения (необязательный). Нельзя обратиться к сообщению помеченному как удаленное.

Ограничения:
Может быть передана только в состоянии TRANSACTION.

Подробности:
Если аргумент задан, сервер посылает положительный ответ со строкой содержащей информацию о заданном сообщении. Эта строка называется «unique-id listing».
Если аргумент не задан, то при положительном ответе сервер посылает многострочный ответ. После индикатора состояния (+OK), и строку содержащую информацию о сообщении.
Для упрощения синтаксического разбора все сервера должны использовать определенный формат «unique-id listing”. «unique-id listing” состоит из номера сообщения и уникального идентификатора разделенные одиночным пробелом. За уникальным идентификатором не должно следовать ни какой дополнительной информации.
Уникальный идентификатор это произвольная, определяемая сервером, строка, содержащая символы в диапазоне от 0x21 до 0x7E, которая однозначно идентифицирует сообщение в пределах почтового ящика. Идентификатор сохраняется на все время сессии. Сервер не должен многократно использовать идентификатор для данного почтового ящика, пока существует объект использующий его. Сообщения помеченные как удаленные не учитываются.

Post Office Protocol (POP) - протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рисунке изображена модель клиент-сервер по протоколу POP. Сервер POP находится между агентом пользователя и почтовыми ящиками.

В настоящее время существуют две версии протокола POP - РОР2 и РОРЗ, обладающими примерно одинаковыми возможностями, однако несовместимыми друг с другом. Дело в том, что у РОР2 и РОРЗ разные номера портов протокола. Между ними отсутствует связь, аналогичная связи между SMTP и ESMTP. Протокол РОРЗ не является расширением или модификацией РОР2 - это совершенно другой протокол. РОР2 определен в документе RFC 937 (Post Office Protocol-Version 2, Butler, et al, 1985), a РОРЗ - в RFC 1225 (Post Office Protocol-Version 3, Rose, 1991). Далее кратко рассмотрим POP вообще и более подробно - РОРЗ. PОРЗ разработан с учетом специфики доставки почты на персональные компьютеры и имеет соответствующие операции для этого.

Назначение протокола РОРЗ

Ранее почтовые сообщения большинства сетей доставлялись непосредственно от одного компьютера к другому. И если пользователь часто менял рабочие компьютеры или один компьютер принадлежал нескольким пользователям, существовали определенные проблемы. В наши дни общепринята доставка сообщения не на компьютеры пользователя, а в специальные почтовые ящики почтового сервера организации, который круглосуточно работает (включен).

Описание протокола РОРЗ

Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент (UA), работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую ситуацию "раздельные агенты" (split UA). Концепция раздельных агентов кратко обсуждается в спецификации РОРЗ.

В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается. В табл.7 перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации.

Таблица 5. Команды протокола POP версии 3 (для минимальной конфигурации)

Команда
Описание

USER Идентифицирует пользователя с указанным именем

PASS
Указывает пароль для пары клиент-сервер
QUIT
Закрывает TCP-соединение

STAT
Сервер возвращает количество сообщений в почтовом ящике плюс размер почтового ящика

LIST
Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения)

RETR
Извлекает сообщение из почтового ящика (требуется указывать аргумент-идентификатор сообщения)

DELE
Отмечает сообщение для удаления (требуется указывать аргумент - идентификатор сообщения)

NOOP
Сервер возвращает положительный ответ, но не совершает никаких действий

LAST
Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались

RSET
Отменяет удаление сообщения, отмеченного ранее командой DELE

В протоколе РОРЗ определено несколько команд, но на них дается только два ответа: +ОК (позитивный, аналогичен сообщению-подтверждению АСK) и -ERR (негативный, аналогичен сообщению "не подтверждено" NAK). Оба ответа подтверждают, что обращение к серверу произошло и что он вообще отвечает на команды. Как правило, за каждым ответом следует его содержательное словесное описание. В RFC 1225 есть образцы нескольких типичных сеансов РОРЗ. Сейчас мы рассмотрим несколько из них, что даст возможность уловить последовательность команд в обмене между сервером и клиентом.

После того как программа установила TCP-соединение с портом протокола РОРЗ (официальный номер 110), необходимо послать команду USER с именем пользователя в качестве параметра. Если ответ сервера будет +ОК, нужно послать команду PASS с паролем этого пользователя:

CLIENT: USER kcope
ERVER: +ОК
CLIENT: PASS secret
SERVER: +ОК kcope"s maildrop has 2 messages (320 octets)
(В почтовом ящике kcope есть 2 сообщения (320 байтов) ...)

Транзакции РОРЗ

Команда STAT возвращает количество сообщений и количество байтов в сообщениях:

CLIENT: STAT
SERVER: +ОК 2 320

Команда LIST (без параметра) возвращает список сообщений в почтовом ящике и их размеры:

CLIENT: LIST
SERVER: +ОК 2 messages (320 octets)
SERVER: 1 120
SERVER: 2 200
SERVER: . ...

Команда LIST с параметром возвращает информацию о заданном сообщении:

CLIENT: LIST 2
SERVER: +ОК 2 200 ...
CLIENT: LIST 3
SERVER: -ERR no such message, only 2 messages in maildrop

Команда TOP возвращает заголовок, пустую строку и первые десять строк тела сообщения:

CLIENT: TOP 10
SERVER: +ОК
SERVER:
(сервер POP высылает заголовки сообщений, пустую строку и первые десять строк тела сообщения)
SERVER: . ...
CLIENT: TOP 100
SERVER: -ERR no such message
Команда NOOP не возвращает никакой полезной информации, за исключением позитивного ответа сервера. Однако позитивный ответ означает, что сервер находится в соединении с клиентом и ждет запросов:

CLIENT: NOOP
SERVER: +ОК

Следующие примеры показывают, как сервер POP3 выполняет действия. Например, команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:

CLIENT: RETR 1
SERVER: +OK 120 octets
SERVER:
(РОРЗ-сервер высылает сообщение целиком)
SERVER: . . . . . .

Команда DELE отмечает сообщение, которое нужно удалить:

CLIENT: DELE 1
SERVER: +OK message 1 deleted ...
(сообщение 1 удалено)
CLIENT: DELE 2
SERVER: -ERR message 2 already deleted
сообщение 2 уже удалено)
Команда RSET снимает метки удаления со всех отмеченных ранее сообщений:

CLIENT: RSET
SERVER: +OK maildrop has 2 messages (320 octets)
(в почтовом ящике 2 сообщения (320 байтов))

Как и следовало ожидать, команда QUIT закрывает соединение с сервером:

CLIENT: QUIT
SERVER: +OK dewey POP3 server signing off
CLIENT: QUIT
SERVER: +OK dewey POP3 server signing off (maildrop empty)
CLIENT: QUIT
SERVER: +OK dewey POP3 server signing off (2 messages left)

Обратите внимание на то, что отмеченные для удаления сообщения на самом деле не удаляются до тех пор, пока не выдана команда QUIT и не началась стадия обновления. В любой момент в течение сеанса клиент имеет возможность выдать команду RSET, и все отмеченные для удаления сообщения будут восстановлены.

Существуют две основных методаработы с почтой: Online и Offline.

Согласно offline методу почта доставляется на сервер, а пользователь ПК периодически запускает почтового клиента, который выкачивает всю новую почту на ПК. Вся обработка почты, например её фильтрация, происходит на локальной машине. Offline доступ? сервис для?хранения и пересылки?, предназначенный для пересылки почты по требованию с почтового сервера на единственную конечную машину. Однажды доставленные на конечную машину, сообщения удаляются с почтового сервера.

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

  • Преимущества offline метода:
    • Минимальное время соединения с сервером.
    • Минимальное использование серверных ресурсов.
  • Преимущества online метода:
    • Способность использовать разные компьютеры в разное время.
    • Способность использовать?облегчённые? клиентские машины.
    • Платформо-независимый доступ к нескольким почтовым ящикам.
    • Возможность одновременного доступа к разделяемым почтовым ящикам.

Основное преимущество online доступа состоит в том, что почтовые ящики с входящей и архивной почтой хранятся на сервере и к ним можно единообразно получить доступ с различных компьютеров в различное время. И всё это можно осуществлять без использования протоколов общего доступа к файлам (эти протоколы существуют далеко не на каждой платформе, могут уступать в производительности и вызывать проблемы блокировки файлов (file locking). Всё это не нужно для тех пользователей, которые всегда использует один и тот же компьютер для доступа к почте, но становится очень важным для тех, кто использует несколько компьютеров.

Возможности и

POP был разработан для поддержки offline обработки почты. И хотя ограничения offline доступа могут быть скомпенсированы использованием этого протокола в online режиме, POP просто-напросто не имеет некоторой функциональности, требуемой для высококачественного online доступа. Псевдо-онлайн режим доступа, поддерживаемый POP3 заключается в том, что пользователь оставляет почту на сервере и это часто требует наличия remote file system protocol для того, чтобы почтовый клиент сумел обновить почтовый ящик или установить флаги сообщения. IMAP также может применяться для offline доступа, но его мощь проявляется в первую очередь при online доступе. Если сказать вкратце, то IMAP позволяет манипулировать удаленными почтовыми ящиками, как будто они являются локальными. В зависимости от реализации IMAP клиента и почтовой архитектуры, которую пожелал иметь управляющий почтовой системой, пользователь может сохранять сообщения только на клиентской машине, только на сервере или иметь выбор сделать и то и другое.

Приведём теперь краткое сравнение протоколов POP3 и IMAP4.

  • Характеристики, общие для обоих протоколов
    • Оба поддерживают offline доступ
    • Почта доставляется на общий, всегда работающий почтовый сервер
    • Новая почта доступна с большего числа клиентских платформ и из любого места в сети
    • Протоколы открыты и стандартизованы (в Интернет есть соответствующие RFC)
    • Ориентированны только на считывание почты, для отсылки оба используют
    • Оба протокола поддерживают постоянные ID сообщений (POP3 ? не все сервера), которые используются для disconnected доступа
  • Преимущества POP3
    • Легче реализовать
    • Больше клиентов существует на данный момент
  • Преимущества IMAP4
    • Может манипулировать постоянными флагами сообщений (Seen, Draft, Deleted,?).
    • Может, как хранить сообщения, так и скачивать их. Есть возможность добавления сообщений в почтовый ящик.
    • Может работать с множеством почтовых ящиков (возможно даже иерархических).
    • Может поддерживать параллельный доступ к почтовым ящикам и параллельное их обновление.
    • Подходит для доступа к не почтовым данным, например к новостям или документам.
    • Может использовать offline доступ, для уменьшения времени соединения и используемого дискового пространства.
    • Позволяет осуществлять поиск писем на сервере.
    • Есть возможность скачать часть письма, причём можно скачать фрагмент начиная с любого места и любой длины.
    • Разработан специально для повышения производительности online доступа, особенно для медленных соединенией.
    • IMAP4 rev 1 поддерживает стандарт Unicode (почтовые ящики с Unicode именами, поиск сообщений)
    • Существует стандартизированный способ расширения базового протокола. В частности есть расширения для управления квотами пользователей и их правами доступа к чужим или разделяемым почтовым ящикам.
    • Существуют?протоколы-компаньоны? (IMSP и его приемник ACAP) для хранения и манипулирования настройками пользователей.

Подробнее об IMAP4

IMAP может манипулировать постоянными флагами статуса сообщения, включающих?Seen?, ?Deleted?, ?Answered?, а так же определенные пользователем флаги. IMAP позволяет хранить сообщения, а так же получать их с сервера. Пользователь может добавить сообщение из ящика входящих сообщений в архивный ящик (или наоборот) С помощью IMAP клиент может иметь доступ и управлять несколькими почтовыми ящиками. Это включает в себя как возможность именовать и получать доступ к различным архивным ящикам и ящикам для входящей почты, так и способность получать их список, создавать, удалять и переименовывать их. Эти почтовые ящики могут находиться как на одном, так и на разных почтовых серверах. IMAP клиент может позволить видеть их все одновременно и перемещать сообщения из одного ящика в другой.

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

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

Не все IMAP клиенты предлагают поддержку offline режима, но протокол это позволяет в полной мере. Для IMAP существует протокол-компаньон, предназначенный для управления настройками пользователей, который называется IMSP, Internet Message Support Protocol. IMSP делает возможным независимый от расположения (многоплатформенный) доступ к персональным настройкам пользователя, например к адресной книге. (Его потомок ACAP позволяет хранить также настройки для серверов, групп пользователей. ACAP специально оптимизирован для уменьшения количества пересылаемых по сети данных, имеет богатые возможности по поиску на стороне сервера, позволяет управлять правами доступа к данным.)

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

Эффективная обработка MIME сообщений является значимым преимуществом IMAP над POP. (MIME ? Multipurpose Internet Mail Extensions, стандарт для кодирования сообщений, содержащих произвольные присоединенные файлы. После кодирования сообщений MIME их можно посылать с помощью SMTP.) Подытожив, можно сказать, что

IMAP выигрывает у POP в трех областях:

  • более богатая функциональность для манипулирования почтовым ящиком;
  • возможность управлять несколькими почтовыми ящиками, а не одним;
  • примитивы для оптимизации производительности online доступа, особенно если дело касается больших MIME сообщений.

Преимущества POP над IMAP:

  • наличие большего числа реализаций, как клиентов, так и серверов;
  • простота настройки (так как у POP маленькая функциональность, то и настраивать ничего не нужно).

По-моему со временем IMAP должен вытеснить POP. Описание POP3 можно найти в RFC-1939. IMAP4 описан в RFC-2060.

Список IMAP программного обеспечения можно найти по адресу /go?www.imap.org/products.html , а список документов, имеющих отношение к IMAP можно найти /go?www.imap.org/biblio.html .

Также потенциальный интерес могут представлять /go?www.imap.org/imap.docs.html (подборка IMAP документов); Message Access Paradigms and Protocols (данный документ является более полным описанием изложенных в статье идей, кроме того в нем детально описана терминология и предоставлена информация о протоколах POP и IMAP в контексте online доступа).

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

POP3 (протокол почтового отделения версия 3) часто используется для связи с удаленным сервером электронной почты и загрузки сообщений на локальный почтовый клиент с последующим удалением его на сервере, к примеру , Thunderbird , Windows Mail, и т.д. Однако обычно почтовые клиенты предлагают выбор – оставлять или нет копии сообщений на сервере. Если вы используете несколько устройств для отправки сообщений, то рекомендуется оставлять эту функцию включенной, в противном случае, на другом устройстве у вас не будет доступа к отправленным сообщениям, которые не были сохранены на удаленном сервере. Также стоит отметить, что POP3 – протокол работающий только в одном направлении, это означает, что данные берутся с удаленного сервера и отправляются на локальный клиент.

Порты POP3, по умолчанию являются такими:

Порт 110 – порт без шифрования

Порт 995 – порт SSL/TLS, также известный как POP3S

Шаг 2 - Различия между POP3 и IMAP, и какие порты у IMAP?

IMAP (протокол прикладного уровня для доступа к электронной почте), также как и POP3 используется для получения сообщений электронной почты на локальный клиент, однако, он имеет существенное отличие – загружаются только лишь заголовки электронных сообщений, сам текст письма остается на сервере. Данный протокол связи работает в две стороны, если происходят изменения на локальном клиенте, они передаются и на сервер. В последнее время IMAP стал более популярным, так как такие гиганты-провайдеры услуг электронной почты, как Gmail, стали рекомендовать использовать его вместо POP3.

Порты IMAP, по умолчанию являются такими:

  • Порт 143 – порт без шифрования
  • Порт 993 – порт SSL/TLS, также известный как IMAPS

Шаг 3 - SMTP, протокол для исходящей связи по электронной почте

Простой протокол передачи почты (SMTP ), используется для связи с удаленным сервером и последующей отправке сообщений с локального клиента на удаленный сервер, и в конечном итоге на сервер получателя сообщений. На вашем сервере электронной почты, этот процесс контролируется специальной службой (MTA ). Стоит упомянуть, что SMTP используется исключительно для отправки сообщений.

Порты SMTP:

  • Порт 25 – порт без шифрования
  • Порт 465 – порт SSL/TLS, также известный как SMTPS

Заключение

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png