Протоколы электронной почты: POP3, IMAP4, SMTP. Почтовые протоколы POP3 и IMAP

23.08.2019
Опубликованно 17.11.2017 00:48

POP3-порт (протокол почтового отделения) - это протокол, стандарт прикладного уровня, который применяется местными клиентами электронной почты для получения данных из удаленного сервера через TCP/IP подключения.

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

POP3-порту: обзор технологии

Протокол POP поддерживает требования, загрузка и удаление, для доступа к почтовым ящикам (так называемые maildrop ПОП-RFC). Хорошо, что большинство клиентов имеют возможность оставить почту на сервере после загрузки, приложение электронной почты с помощью POP, подключаются, как правило, получают все письма, сохраняют их на пользовательском КОМПЬЮТЕРЕ как новые сообщения, удалять их с сервера, а затем отключается.

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

Современные e-mail-клиенты поддерживают ПОП. Со временем, популярные почтовое отделение программного обеспечения, добавлена поддержка IMAP.Технические характеристики

Сервер работает с известным портом 110. POP3 SSL порт последнего стандарта общего использования. Зашифрованной связи для протокола предлагается, используя команды STLS или POP3S), который подключается к серверу с помощью уровня безопасности транспортного уровня (TLS) или уровень secure sockets layer (SSL).

Доступные сообщения клиента фиксируются при POP3-сервера порт открывает почтовый ящик и действующий номер сообщения, место для этой сессии уникальный идентификатор, присваиваемый сообщение. Этот параметр является постоянным и уникальным для maildrop и позволяет клиенту получить доступ к позиции в различных сессиях. Сообщения, отмеченные для удаления номера сообщения. Когда клиент отключается от сеанса, почты, затем, чтобы удалить удаляет maildrop.

История и документации

Первая версия (POP1) был определен в документе RFC 918 (1984), POP2 RFC 937 (1985). POP3 был инициирован RFC 1081 (1988). RFC 1939 обновляются с помощью механизма расширений RFC 2449 и механизм проверки подлинности в RFC-1734.

POP3 в настоящее время поддерживает несколько методов аутентификации, чтобы обеспечить различные уровни защиты от несанкционированного доступа к e-mail пользователя. Большинство из них обеспечивается с помощью механизмов расширения POP3. Клиенты поддерживает методы аутентификации SASL расширение AUTH. Проект Athena от MIT также выпустила версию Kerberized. RFC 1460 представлен APOP в протокол. APOP-это протокол вызова/ответа, который использует хэш-функции MD5, чтобы избежать повторения попыток нарушения конфиденциальности.

POP4 существует только как неофициальное предложение, добавляет база делопроизводства, поддержка нескольких сообщений, а также контроль индикатор сообщения в конкуренции с IMAP. Версия POP4 не развивается с 2003 года.Расширения и спецификации

Механизм был предложен в RFC 2449 для размещения общих расширений, но также организованной поддержки команды, такие как TOP и UIDL. RFC не намерен поощрять расширение и подтвердил, что роль POP3 является предоставление простой поддержки, в основном для загрузки и удаления требований в области обработки почтовых ящиков.

Расширение в официальной документации называются возможностями и список команды CAPA. За исключением APOP, необязательные команды, которые были включены в набор возможностей.Расширение STARTTLS и SDPS

Это расширение позволяет использовать протокол Transport Layer Security и Secure Sockets Layer с помощью команды STLS на порт POP3, а не на другой. Некоторые клиенты и серверы используют метод на другой порт, который использует TCP-порт 995 (POP3S).

Demon в Интернет представил расширение для POP3, который позволяет объединить несколько учетных записей на одном домене, и стал известен как отключающая службы POP3 (SDPS). Чтобы получить доступ к каждой учетной записи включает в себя имя хоста, как john @ hostname или джон + hostname.

Протокол Kerberized Post Office

При расчете, почтовые клиенты могут использовать интернет-протокола Kerberized Post Office Protocol (KPOP), для получения электронной почты с удаленного сервера по TCP/IP подключения. Протокол KPOP на основе протокола POP3 с разницей в том, что он добавляет к безопасности Kerberos и работает по умолчанию номер порта TCP-1109 вместо 110. Версия программного обеспечения для сервера, на сервере Cyrus IMAP. Сравнение с IMAP

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

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

ПОП-управляет почтового ящика, как один магазин, и понятия не имеет, на папки.

IMAP-клиента выполняет сложные запросы, запрашивает сервер для заголовков или содержания некоторых сообщений или в поисках письма, соответствующие определенным критериям. Сообщение в диалоговом отложения могут быть отмечены различные флаги состояния (например, «удаленные» или «ответы»), и они остаются в магазине, пока пользователь явно не удалить.

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

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

Когда ПОП получает сообщение, он получает все его части, в то время как протокол IMAP4 позволяет клиентам получить частей MIME отдельно - например, для получения текста без вложений.

IMAP поддерживает флаги на сервер, чтобы отслеживать статус сообщения: например, если читать сообщения предоставляется, если ответ удален если письмо.

Что такое POP и IMAP, и что следует использовать для электронной почты?

Если у вас уже установлен клиент электронной почты или приложения, вы столкнулись с условиями порты POP3, SMTP и IMAP. Вы помните, какой вы выбрали и почему? Если вы не совсем уверен, что означают эти термины и условия, и как каждый влияет на ваш счет в e-mail, информация ниже будет пролить свет на этот вопрос. В этой статье объясняется, как работают протоколы POP и IMAP, и поможет вам решить, какой лучше всего соответствует вашим потребностям.

Оба протокола обмена сообщениями позволяют читать сообщения электронной почты в локальной с помощью стороннего приложения. Примерами этого являются Outlook, Thunderbird, Eudora, libpng-dev или (Mac) Mail.

Источник протокол POP. Он был создан в 1984 году как инструмент для загрузки электронной почты с удаленного сервера. IMAP был разработан в 1986 году для обеспечения удаленного доступа к электронной почте, хранящимся на удаленном сервере. В самом деле, главная разница между двумя протоколами, в том, что ПОП-загружает письма с сервера, для постоянного локального хранения данных, в то время как IMAP оставить их на сервер и просто кэш (хранятся временно) письма в место. Другими словами, IMAP-это форма хранения данных в облаке.

Отличительными особенностями POP и IMAP?

Эти два протокола лучше всего сравнить, учитывая основные процессы работы.

Процесс работы ПОП:подключение к серверу;получения электронной почты;локальное хранение данных;удалить переписку с сервера;отключения.

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

По умолчанию порты POP3:порт 110 - порт;порт 995 - порт SSL / TLS, также известный как POP3S.

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

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

По умолчанию порты IMAP:порт 143 - порт;порт 993 - порт SSL / TLS, также известный как IMAPS.Какие преимущества ПОП-музыки?

Будучи по происхождению POP, должна быть упрощена идея, что только клиент требует доступ к электронной почте на сервере, и что буквы лучше сохраняются локально. Это приводит к следующим преимуществам:электронная почта хранится локально, то есть всегда доступны, даже без подключения к интернету;интернет-соединение необходимо только для отправки и получения электронной почты;сохраняет пространство на сервере;возможность оставлять копии сообщений на сервере.консолидация нескольких учетных записей электронной почты и серверов в почтовом ящике.Какие преимущества IMAP?

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

В результате, IMAP, имеет следующие преимущества:почта хранится на удаленном сервере, доступен из нескольких мест;чтобы получить доступ к вашей электронной почты, вы должны быть подключены к Интернету;более быстрый обзор, ибо только заголовки, пока содержимое не будет явного запроса;почта автоматически зарезервировали, если сервер управляется должным образом;зарегистрировано локальное хранилище;возможность хранить почту локально.Что такое протокол электронной почты?

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

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

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

Если у вас есть сомнения, обратитесь к IMAP. Это более новый протокол, который позволяет вам быть гибким, и ваш e-mail будет автоматически зарезервированы на сервере. Кроме того, сервер пространство обычно не является проблемой в эти дни, и вы всегда будете иметь возможность хранить важные письма локально.Ошибки почтового клиента

Если вы заметили ошибку, POP3, порт: 995, защита (SSL) номер 0x800C0133 при попытке проверить ваш Gmail, то попробуйте сжать почтовые папки. В POP-клиент, выберите «Файл» > «Файл» > " Сжать все папки». Это должно решить проблему.

Рабочая станция может не иметь достаточных ресурсов для обеспечения непрерывной работы 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 " (все символы прописные).

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

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

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

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

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

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

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

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

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

21.04.05 7.7K

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

Первоначально, сервер прослушивает 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, которая однозначно идентифицирует сообщение в пределах почтового ящика. Идентификатор сохраняется на все время сессии. Сервер не должен многократно использовать идентификатор для данного почтового ящика, пока существует объект использующий его. Сообщения помеченные как удаленные не учитываются.

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

OK unique-id listing follows -ERR no such message

C: UIDL S: +OK S: 1 whqtswO00WBw418f9t5JxYwZ S: 2 QhdPYR:00WBw1Ph7x7 S: . ... C: UIDL 2 S: +OK 2 QhdPYR:00WBw1Ph7x7 ... C: UIDL 3 S: -ERR no such message, only 2 messages in maildrop

APOP имя digest (шифрованная строка пароля)

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

Данный раздел находится в стадии доработки…

Резюме по командам POP3

Основные команды:

USER имя PASS строка QUIT STAT LIST сообщение RETR сообщение DELE сообщение NOOP RSET QUIT

Дополнительные команды:

APOP имя digest TOP сообщение номер UIDL сообщение

Обратите внимание что на все команды за исключением STAT, LIST и UIDL, ответ, данный сервером важно только +OK и -ERR. Любой текст встречающийся после этого ответа может игнорироваться клиентом.

Пример POP3 сессии

S: wait for connection on TCP port 110 C: open connection S: +OK POP3 server ready <[email protected]> C: APOP mrose S: +OK mrose"s maildrop has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 octets S: S: . C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: S: . C: DELE 2 S: +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: close connection S: wait for next connection

Хорошо Плохо

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

Скорее всего, большинство читающих это руководство уже знакомы с самой часто используемой технологией связи – электронной почтой. Но задумывались ли вы когда-нибудь о том, как на самом деле она работает? В этой статье мы узнаем, как работает эта служба, и что такое 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.