Порты imap и pop3. Сравнение почтовых протоколов POP3 и IMAP что лучше и для чего

Рабочая станция может не иметь достаточных ресурсов для обеспечения непрерывной работы SMTP -сервера . Для домашних ЭВМ слишком дорого поддерживать связь с Интернет круглые сутки.

Но доступ к электронной почте необходим как для таких малых узлов, так и для индивидуальных ЭВМ. Для решения этой проблемы разработан протокол POP3 ( Post Office Protocol - Version 3, STD : 53. M. Rose, RFC-1939). Этот протокол обеспечивает доступ узла к базовому почтовому серверу.

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

Функционально, однако, все клиенты электронной почты, которые вы используете, должны быть похожими. Для нормального использования пользовательский агент создает сообщение и передает его агенту передачи сообщений, который затем использует некоторые поля заголовка для создания фактического конверта, комбинации сообщения и конверта.

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

Более продвинутый и сложный протокол IMAP4 обсуждается в RFC-2060 ( порт 143). Об аутентификации в POP3 можно прочесть в документе RFC-1734.

В дальнейшем ЭВМ-клиентом будет называться машина, пользующаяся услугами POP3 , а ЭВМ-сервером - сторона, предлагающая услуги POP3 .

Когда пользователь ЭВМ-клиента хочет послать сообщение, он устанавливает SMTP связь с почтовым сервером непосредственно и посылает все, что нужно, через него. При этом ЭВМ POP3 - сервер не обязательно является почтовым сервером.

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

В исходный момент ЭВМ POP3 - сервер прослушивает TCP - порт 110. Если ЭВМ-клиент хочет воспользоваться услугами POP3 -сервера, то устанавливает с ним TCP - связь . По установлении связи POP3 - сервер посылает клиенту уведомление (например, +OK POP3 server ready ) и сессия переходит в фазу авторизации (см. также RFC-1734, -1957). После этого может производиться обмен командами и откликами.

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

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

Сигнал отклика в POP3 содержит индикатор состояния и ключевое слово , за которым может следовать дополнительная информация . Отклик также завершается кодовой последовательностью CRLF. Длина отклика не превышает 512 символов, включая CRLF. Существует два индикатора состояния: положительный - "+OK" и отрицательный - "- ERR " (все символы прописные).

Этот заголовок необходим, чтобы получатель знал, заслуживает ли он декодирования и чтения сообщения. Предусмотрены пять схем кодирования. Следующая схема в качестве простоты примерно одинакова, но использует 8-битные символы, представляющие все значения от 0 до 255 включительно. Эта схема шифрования нарушает протокол электронной почты, используемый в Интернете, но используется некоторыми частями Интернета, которые реализуют некоторые расширения исходного протокола. Хотя объявление кодирования не делает его законным, тот факт, что мы имеем его явным, может по крайней мере прояснить ситуацию, когда что-то пойдет не так.

Отклики на некоторые команды могут содержать несколько строк. В этом случае последняя строка содержит код завершения 046 ("."), за которым следует CRLF.

На практике многострочные отклики для исключения имитации завершаются последовательностью "CRLF.CRLF".

В процессе авторизации клиент должен представить себя серверу, передав имя и пароль (возможен вариант посылки команды APOP). Если авторизация успешно завершена, сессия переходит в состояние транзакции ( TRANSACTION ). При получении от клиента команды QUIT сессия переходит в состояние UPDATE , при этом все ресурсы освобождаются и TCP - связь разрывается.

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

Последовательности == и = используются, чтобы показать, что последняя группа содержала только 8 или 16 бит, соответственно. Последовательности возврата каретки и последовательности строк игнорируются, поэтому их можно вставить, если необходимо, чтобы линии были достаточно короткими. Используя эту схему, произвольные двоичные файлы могут быть отправлены безопасно.

На синтаксически неузнанные и неверные команды сервер реагирует, посылая отрицательный индикатор состояния.

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

Сервер нумерует все передаваемые сообщения из своего почтового ящика и определяет их длину. Положительный отклик начинается с +OK, за ним следует пробел , номер сообщения, еще один пробел и длина сообщения в октетах. Завершается отклик последовательностью CRLF. Переданные сообщения удаляются из почтового ящика сервера. Все сообщения, передаваемые во время сессии POP3 , должны следовать рекомендациям формата Интернет сообщений .

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

Система обмена сообщениями обрабатывает сообщения, полученные от пользовательского агента отправителя, до окончательной доставки агенту пользователя получателя. Обмен сообщениями осуществляется с помощью агентов обмена сообщениями, и они могут быть больше в пути передачи.

В состоянии транзакции клиент может посылать серверу последовательность POP3 -команд, на каждую из которых сервер должен послать отклик. Далее следует краткое описание команд, используемых в состоянии транзакция .

LIST [сообщение]

Аргументы : номер сообщения ( опционно ), который не может относиться к сообщению, помеченному как удаленное. Команда может быть выдана только в режиме TRANSACTION . При наличии аргумента сервер выдает положительный отклик, содержащий информационную строку сообщения. Такая строка называется скэн-листингом сообщения ( scan

Это означает, что агенты передачи ведут себя либо как клиент, либо как сервер, их поза зависит от значения передачи сообщения. Эти агенты являются наиболее распространенными демонами, услугами, установленными на системном сервере. Сервер начинается с отправки строки текста, объявления его идентификатора и указания, готов ли он или нет получать сообщения. Если нет, клиенты освободят соединение и повторите попытку позже, после предопределенного ожидания.

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

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, и все отмеченные для удаления сообщения будут восстановлены.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: