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

Содержание

ИТ База знаний

ShareIT — поделись знаниями!

Полезно

Узнать IP — адрес компьютера в интернете

Онлайн генератор устойчивых паролей

Онлайн калькулятор подсетей

Калькулятор инсталляции IP — АТС Asterisk

Руководство администратора FreePBX на русском языке

Руководство администратора Cisco UCM/CME на русском языке

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Похожие статьи

Установка и использование fping в Linux

Установка VirtualBox 6.0 на Linux

Этапы установки 1С 8.3 в компании

Chat2Desk – разбираемся с агрегатором мессенджеров

Самое интересное про SMTP, POP3 и IMAP

3 минуты чтения

Сегодня мы подробно расскажем про наиболее используемые в сети интернет протоколы – POP3, IMAP и SMTP. Каждый из указанных протоколов имеет определенное назначение и функциональные возможности. Давайте попробуем разобраться.

Протокол POP3 и его порты

Post Office Protocol 3 (POP3) это стандартный протокол почты созданные для получения электронных писем с удаленного сервера на e-mail клиент.POP3 позволяет вам сохранить почтовое сообщение на ваш компьютер и даже прочесть его, в случае, если вы находитесь не в сети. Важно отметить, что если вы решили использовать POP3 для подключения к учетной записи почты, письма, которые уже скачаны на компьютер, будут удалены с почтового сервера. Как пример, если вы используете несколько компьютеров для подключения к одному почтовому аккаунту, то протокол POP3 может быть не лучшим выбором в данной ситуации. С другой стороны, так как почта хранится локально, на ПК конкретного пользователя, это позволяет оптимизировать дисковое пространство на стороне почтового сервера.

По умолчанию, протокол POP3 использует следующие порты:

  • Порт 110 – это порт протокола POP3 по умолчанию. Не является безопасным.
  • Порт 995 – этот порт следует использовать в том случае, если вы хотите установить безопасное соединение.

Протокол IMAP и порты

Internet Message Access Protocol (IMAP) – это почтовый протокол, созданный для доступа к почте с локального почтового клиента. IMAP и POP3 – наиболее популярные в сети интернет протоколы, используемые для получения e-mail. Оба этих протокола поддерживается всеми современными почтовыми клиентами (MUA — Mail User Agent) и WEB – серверами.

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

По умолчанию, протокол IMAP использует следующие порты:

  • Порт 143 – порт по умолчанию. Не безопасен.
  • Порт 993 – порт для безопасного соединения.
Протокол SMTP и его порты

Simple Mail Transfer Protocol (SMTP) – это стандартный протокол для отправки почтовых сообщений по сети интернет.

Данный протокол описан в RFC 821 и RFC 822, впервые опубликованных в августе 1982 года. В рамках данных RFC, формат адреса должен быть в формате имя_пользователя@доменное_имя. Доставка почты, аналогична работе обычной почтовой службы: например, письмо на адрес ivan_ivanov@merionet.ru, будет интерпретирован так: ivan_ivanov – адрес, а merionet.ru – почтовый индекс. Если доменное имя получателя отличается от доменного имени отправителя, то MSA (Mail Submission Agent) отправит письмо через Mail Transfer Agent (MTA). Главная идея MTA в том, чтобы перенаправлять письма в другую доменную зону, по аналогии, как традиционная почты отправляет письма в другой город или область. MTA так же получает почту от других MTA.

Протокол SMTP использует следующие порты:

  • Порт 25 – порт SMTP по умолчанию. Не безопасен.
  • Порт 2525 – данный порт используется в том случае, если интернет провайдер фильтрует порт 25.
  • Порт 465 – порт для безопасного соединения.
  • SMTP
  • POP3
  • 4664
  • 40

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас :( Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации :) Просто оставьте свои данные в форме ниже.

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

Читайте также:

  1. Quality Management — управление качеством, то есть описание различных проверок изделий во время производственного процесса.
  2. Агрегатное описание систем
  3. Аналитическое описание булевых функций
  4. Внешнее описание системы определяется ее внутренним описанием.
  5. Впоследствии были приняты два протокола, которые внесли изменения в основные положения Брюссельской Конвенции.
  6. Выбор принципа работы преобразователя и описание его работы
  7. Двумерный описательный анализ связан с описанием формы и силы взаимосвязи между переменными, а так же со сравнением значений некоторой переменной в различных социальных группах.
  8. Дидактические игры на описание наглядного материала
  9. Динамическая маршрутизация. Конфигурирование протокола RIP
  10. Динамическое описание систем
  11. Задачи и область применения протокола TCP. Механизм адаптации скорости передачи данных к возможностям принимающей стороны.
  12. Информационное (информационно-логическое или инфологическое) описание системы — это описание информационных связей как системы с окружающей средой, так и подсистем системы.

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

Перед началом работы по протоколу POP3 почтовый сервер прослушивает порт 110. Если клиент хочет использовать этот протокол, он должен установить TCP соединение с сервером. После установления соединения POP3 сервер посылает клиенту приветствие. После этого POP3 сервер и клиент могут обмениваться запросами и ответами до тех пор, пока соединение не будет закрыто или прервано.

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

Ответы в POP3 состоят из индикатора состояния и ключевого слова, за которым может следовать дополнительная информация. Ответ заканчивается парой CRLF. Существует только два индикатора состояния: «+OK» — положительный и «-ERR» — отрицательный. Ответы на некоторые команды могут состоять из нескольких строк. В этих случаях каждая строка отделена парой CRLF, а конец ответа заканчивается ASCII символом 46 («.») и парой CRLF.

POP3 сессия состоит из нескольких режимов. Как только соединение с сервером было установлено, и сервер отправил приветствие, сессия переходит в режим AUTHORIZATION (Авторизация). В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим TRANSACTION (Передача). В этом режиме клиент запрашивает сервер выполнить определённые команды. Когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается.

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

У POP3 сервера может быть INACTIVITY AUTOLOGOUT таймер. Этот таймер должен работать хотя бы 10 минут. Это значит, что если клиент и сервер не взаимодействуют друг с другом в течение длительного времени (например, 10 минут), сервер автоматически прерывает соединение и при этом не переходит в режим UPDATE.

Сразу после установления TCP соединения с POP3 сервером, он отправляет приветствие – любой положительный ответ, заканчивающийся парой CRLF, например:

S: +OK POP3 server ready

После этого POP3 сессия переходит в режим AUTHORIZATION. Клиент должен идентифицировать себя на сервере. Для этого могут использоваться два механизма: пара команд USER и PASS или команда APOP. POP3 сервер должен поддерживать хотя бы один из этих механизмов (чаще всего используется 1-й).

Комбинация команд USER и PASS — самая простая в реализации, но в то же время самая опасная с точки зрения безопасности. Каждый раз при соединении клиента с сервером POP3 с целью проверки почты по сети посылается его идентификатор пользователя и пароль в виде текста в формате ASCII. Это просто находка для хакера!

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

Для входа на сервер POP3, вместо комбинации команд USER и PASS, клиент может использовать команду APOP. Команда APOP позволяет клиенту регистрироваться на сервере, не посылая пароль в текстовом виде, — она использует зашифрованную с помощью алгоритма MD5 версию пароля.

Алгоритм шифрования MD5 был разработан Роном Райвестом (Ron Rivest) и описан в документе RFC 1321. Этот алгоритм основан на использовании алгоритма хеширования для наложения известного сообщения на секретное слово (ключ), которое известно лишь двум оконечным точкам. Очевидно, что для нормальной работы такой схемы нужно, чтобы клиенту и серверу заранее был известен ключ. В роли известного сообщения, налагаемого на ключ, может выступать приглашение сервера POP3 при установлении с ним TCP-соединения. Как правило, в роли такого сообщения выступает идентификатор, который следует за именем хоста сервера POP3.

После того, как клиент опознан с помощью любого из указанных ранее механизмов идентификации, он получает доступ к соответствующему почтовому ящику (maildrop).

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

В том случае, когда доступ получен, POP3 сервер посылает клиенту положительный ответ и переходит в режим TRANSACTION.

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

Далее приводится описание команд, допустимых в режиме AUTORIZATION.

| следующая лекция ==>
Электронная почта | МIME: многоцелевые расширения электронной почты для Internet

Дата добавления: 2014-01-07 ; Просмотров: 245 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

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

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

Что такое POP3?

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

По умолчанию протокол POP3 работает на двух портах:

порт 110 — это незашифрованный порт POP3;

порт 995 — его нужно использовать, если вы хотите безопасно подключиться к POP3.

Что такое IMAP?

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

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

Протокол IMAP работает на двух портах:

порт 143 — это незашифрованный порт IMAP по умолчанию;

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

Что такое SMTP?

Протокол Simple Mail Transfer Protocol (SMTP) — это стандартный протокол для отправки электронной почты через Интернет.

SMTP работает в трех портах:

порт 25 — это незашифрованный порт SMTP по умолчанию;

порт 2525 — он открывается на всех серверах SiteGround, если порт 25 фильтруется (например, вашим интернет-провайдером), и вы хотите отправлять незашифрованные электронные письма с помощью SMTP;

порт 465 — он используется, если вы хотите безопасно отправлять сообщения с помощью SMTP.

По каким протоколам происходит обмен электронной почтой? Понятия и термины

Термин «сервер электронной почты» относится к двум серверам, необходимым для отправки и получения писем, то есть к SMTP и POP.

Сервер входящей почты — это сервер, связанный с вашей учетной записью адреса электронной почты. Для нее не может быть более одного входящего почтового сервера. Для доступа к входящим сообщениям необходим почтовый клиент — программа, которая может получать электронную почту из учетной записи, позволяя пользователю читать, пересылать, удалять и отвечать на сообщения. В зависимости от вашего сервера, вы можете использовать выделенный почтовый клиент (например, Outlook Express) или веб-браузер. Так, Internet Explorer применяют для доступа к учетным записям на основе электронной почты. Письма хранятся на сервере входящей почты до его загрузки. После того, как вы загрузили свою почту с почтового сервера, сделать повторно это будет нельзя. Чтобы успешно загрузить данные, необходимо ввести правильные настройки в электронной почтовой программе. Большинство входящих почтовых серверов используют один из следующих протоколов: IMAP, POP3, HTTP.

Исходящий почтовый сервер (SMTP)

Это сервер, используемый только для отправки писем (для переноса их из вашей почтовой клиентской программы в приемник). Большинство исходящих почтовых серверов используют SMTP-протокол (Simple Mail Transfer Protocol) для отправки корреспонденции. В зависимости от ваших сетевых параметров сервер исходящей почты может принадлежать вашему интернет-провайдеру или серверу, на котором вы настраиваете свою учетную запись. В качестве альтернативы вы можете использовать SMTP-сервер на основе подписки, который позволит вам отправлять электронные письма с любой учетной записи. Из-за проблем со спамом большинство исходящих почтовых серверов не позволяют отправлять электронные письма, если вы не вошли в свою сеть. Сервер с открытым ретранслятором позволит вам использовать его для отправки электронных писем, независимо от того, принадлежите ли вы к его сетевой группе или нет.

Порты электронной почты

Для сетей порт означает конечную точку логического соединения. Номер порта определяет его тип. Ниже перечислены порты электронной почты по умолчанию:

безопасный SMTP (SSMTP) — порт 465;

безопасный IMAP (IMAP4-SSL) — порт 585;

IMAP4 через SSL (IMAPS) — порт 993;

Secure POP3 (SSL-POP) — порт 995.

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

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

Протокол IMAP

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

Илон Маск рекомендует:  Создание медиа-объектов

Протокол POP3

Протокол передачи электронной почты POP (Post Office Protocol 3) обеспечивает простой, стандартизированный способ доступа пользователей к почтовым ящикам и загрузки сообщений на их компьютеры.

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

Протокол SMTP

Протокол SMTP (Simple Mail Transfer Protocol) используется агентом передачи почты (MTA) для доставки электронных сообщений на определенный сервер получателя. SMTP можно использовать только для отправки электронных писем, а не для их получения. В зависимости от настроек вашей сети или интернет-провайдера вы можете использовать SMTP-протокол только в определенных условиях.

Протоколы HTTP

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

Управляемые передачи файлов и сетевые решения

Ваша способность отправлять и получать электронную почту в основном обусловлена ​тремя протоколами TCP. Ими являются SMTP, IMAP и POP3.

Начнем с SMTP, потому что его основная функция отличается от двух других. Протокол SMTP, или Simple Mail Transfer Protocol, в основном используется для отправки электронной почты от почтового клиента (например, Microsoft Outlook, Thunderbird или Apple Mail) на сервер электронной почты. Он также используется для ретрансляции или пересылки почтовых сообщений с одного почтового сервера на другой. Это необходимо в случае, если у отправителя и получателя есть разные поставщики услуг электронной почты.

SMTP, который указан в RFC 5321, использует порт 25 по умолчанию. Он также может использовать порт 587 и порт 465. Последний, который был представлен как порт выбора для безопасного SMTP (a.k.a. SMTPS), считается устаревшим. Но на самом деле он по-прежнему используется несколькими поставщиками почтовых услуг.

Протокол почтового отделения, или POP, используется для извлечения сообщений электронной почты с почтового сервера на e-mail-клиент. Последняя версия, которая широко используется, — это версия 3, отсюда и термин «POP3».

POP, версия 3, указанная в RFC 1939, поддерживает расширения и несколько механизмов аутентификации. Функции проверки подлинности необходимы, чтобы злоумышленники не получали доступ к сообщениям пользователей.

Клиент POP3 получает электронную почту следующим образом:

подключается к почтовому серверу на порту 110 (или 995 для соединений SSL/TLS);

извлекает сообщения электронной почты;

удаляет копии сообщений, хранящихся на сервере;

отключается от сервера.

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

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

Логика работы (настройки imap4):

подключается к почтовому серверу через порт 143 (или 993 для соединений SSL / TLS);

извлекает сообщения электронной почты;

служит для подключения до закрытия приложения почтового клиента и загрузки сообщений по требованию.

Обратите внимание, что сообщения не удаляются на сервере. Это может иметь серьезные последствия. Спецификации IMAP можно найти в RFC 3501.

Выбор между IMAP и POP3

Поскольку основная функция SMTP принципиально отлична, дилемма выбора лучшего протокола обычно включает только IMAP и POP3.

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

Если вы хотите получить доступ к почте в любое время, то лучше остановиться на IMAP. Есть одна веская причина, по которой IMAP был предназначен для хранения сообщений на сервере. Он используется для поиска сообщений с нескольких устройств — иногда даже одновременно. Поэтому если у вас есть iPhone, планшет Android, ноутбук и рабочий стол и вы хотите читать электронную почту с любого или всех этих устройств, то IMAP будет лучшим выбором.

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

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

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

Разумеется, все функциональные возможности IMAP имеют свою цену. Эти решения сложнее реализовать, и в конечном итоге протокол потребляет намного больше ЦП и ОЗУ, особенно когда он выполняет процесс синхронизации. Фактически высокая загрузка процессора и памяти может произойти как на стороне клиента, так и на стороне сервера, если есть тонна сообщений для синхронизации. С этой точки зрения протокол POP3 менее затратен, хотя и менее функционален.

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

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

Однако если все сообщения на сервере должны загружаться каждый раз, то POP3 будет работать гораздо быстрее.

Как вы можете увидеть, каждый из описываемых протоколов имеет свои преимущества и недостатки. Вам решать, какие функции или возможности важнее.

Также желаемый способ доступа к e-mail-клиенту определяет предпочтительность протокола. Пользователи, работающие только с одной машины и использующие веб-почту для доступа к своим новым электронным письмам, оценят POP3.

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

Спам-брандмауэры с SMTP, IMAP и POP3

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

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

Сети и системы передачи информации

Post Office Protocol (POP) — протокол доставки почты пользователю из почтового его ящика своего почтового сервера РОР. Когда почта пришла на сервер (по SMTP), она раскладывается по почтовым ящикам. Чтобы забрать почту из ящика нужен POP.

Первый стандарт РОРЗ определен в RFC 1225 (Post Office Protocol-Version 3, J. Myers, M. Rose November 1994).

Последняя версия RFC1939 (J. Myers, M. Rose May 1996 )

Порт по умолчанию — 110.

Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет.

Модель протокола POP3

Модель протокола POP

Принцип работы POP

В протоколе РОРЗ оговорены три стадии процесса получения почты:

обновление (завершение транзакции)

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

Ответ сервера может иметь два значения:

+OK — положительный ответ

Если сервер содержит несколько строк, то последняя строка должна содержать «точку».

USER — имя пользователя, оно является и идентификатором почтового ящика.

PASS — пароль пользователя

APOP — авторизация цифровой подписью (используется редко).

C: USER Pety // Пользователь сообщает свое имя, оно является идентификатором почтового ящика
S: +ОК // Сервер сообщает, что все в порядке
C: PASS Petypasw // Пользователь сообщает свой пароль
S: +ОК Pety’s maildrop has 2 messages (320 octets) // Сервер сообщает, в почтовом ящике Pety есть 2 сообщения

Пример неудачной авторизации:

C: USER Pety
S: -ERR sorry, no mailbox for Pety here

Пример авторизации с цифровой подписью:

C: APOP Pety K3u7yG4TfR7gE55DD4ry6G4F // Имя и шифрованный пароль
S: +ОК Pety’s maildrop has 2 messages (320 octets)

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

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

C: STAT
S: +ОК 2 320 // 2 сообщения, общий размер 320 байт

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

C: LIST
S: +ОК 2 messages (320 octets)
S: 1 120 // 1 сообщение, размер 120 байт
S: 2 200 // 2 сообщение, размер 200 байт
S: .

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

C: LIST 2
S: +ОК 2 200 .
C: LIST 3 // запрос несуществующего сообщения
S: -ERR no such message, only 2 messages in maildrop // сообщение 3 отсутствует

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

C: TOP 1 10
S: +ОК
S: С новым годом
S:
S:
S: .

Команда NOOP — проверка соединения:

Команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:

C: RETR 1
S: +OK 120 octets
S: // РОРЗ-сервер высылает сообщение целиком
S: . // «Точка» — конец сообщения

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

C: DELE 1
S: +OK message 1 deleted // сообщение 1 удалено
C: DELE 2
S: -ERR message 2 already deleted // сообщение 2 уже удалено

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

C: RSET
S: +OK maildrop has 2 messages (320 octets) // в почтовом ящике 2 сообщения были на удаление

Команда QUIT — переход в режим обновление (UPDATE):

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

C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)

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

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

Происходит завершение транзакции. И удаление все помеченных сообщений.

Пример работы POP3

S:
C:
S: +OK POP3 server ready // приветствие сервера
C: USER Pety
S: +ОК
C: PASS Petypasw
S: +ОК Pety’s maildrop has 2 messages (320 octets)
C: STAT
S: +ОК 2 320
C: LIST
S: +ОК 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:
S:

Просмотр сообщений на POP3 сервере с помощью Telnet

Получим письмо через Telnet.

Клиенту необходимо ввести следующие строки:

Подключение и получение письма telnet’ом (UNIX) с сервера POP (Дионис)

Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. Был разработан для замены POP3.

Порт по умолчанию — 143.

В отличии от POP3 позволяет клиенту манипулировать сообщениями на сервере.

Первый предложенный стандарт — RFC1730 (J. Myers December 1994)

Последний предложенный стандарт — RFC3501 (VERSION 4rev1 M. Crispin March 2003)

IMAP, как стандарт, пока не принят, он остается «предложенным стандартом».

Принцип работы IMAP

Каждая команда клиента начинается с идентификатора или тега команды, состоящую из букв и цифр, (например, А0001,А0002 и т. д.). Тег является уникальным идентификатором данной команды клиента. Ответы сервера или следующие команды клиента могут ссылаться на данную команду по ее тегу.

Строки данных, передаваемые с сервера в ответ на команду клиента, могут не содержать тег, а содержать символ «*». Это означает, что они являются промежуточными строками потока данных ответа, а идентификатор их команды содержится в последней строке потока.

Взаимодействие клиента сервером не строится по принципу «запрос-ответ«. Клиент может отправить новую команду на сервера не дожидаясь ответа на предыдущую.

UID — уникальный идентификатор, присваивается каждому сообщению (не может меняться), 32 бита.

UIDVALIDITY — уникальный временный идентификатор в данной сессии

Порядковый номер — имеет каждое сообщение (может меняться).

Флаги:
«\Seen» — обозначает, что данное сообщение было прочитано
«\Answered» — на сообщение был дан ответ
«\Deleted» — сообщение помечено на удаление
«\Draft» — формирование данного сообщения еще не завершено
«\Recent» — сообщение «только что» поступило в почтовый ящик, т. е. данная сессия — первая, которая может прочитать это сообщение.

Некоторые команды IMAP

Аргументом команды является строка с идентификатором (именем) и паролем клиента:

S: * OK IMAP4 revl Service Ready
С: a001 login Vasy pasword // посылка имени и пароля
S: a001OK LOGIN completed // идентификация прошла успешно

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

S: * OK KerberosV4 IMAP4revl Server
С: А001 AUTHENTICATE KERBEROS_V4
S: + AmFYig==
C: BAcAQrJ5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT
+nZIiriJjnTNHJUtxAA+oOKPKfHEcAFs9a3CL50ebe/ydHJUwYFd
WwuQlMWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKilQh
S: + or//EoAADZI=
C: DiAF5MgA+oOIALuBkAAmw==
S: A001 OK Kerberos V4 authentication successful

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

С: А142 SELECT INBOX // открытие каталога INBOX
S: * 172 EXISTS // В папке «INBOX» — 172 сообщения
S: * 1 RECENT // Из них одно только что поступившее
S: * OK [UNSEEN 12) Message 12 is first unseen // В папке есть непрочитанные сообщения, минимальный порядковый номер непрочитанного сообщения — 12
S: * OK [UIDVALIDITY 3857529045] UIDs valid // Уникальный временный идентификатор папки INBOX в данной сессии — 3857529045
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) // Сообщения в данной папке могут иметь флаги, указанные в строке FLAGS
S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited // Клиент может менять у сообщений флаги «\Deleted» и «\Seen»
S: A142 OK [READ-WRITE] SELECT completed // Клиент имеет права на запись и чтение сообщений из INBOX

Если пользователю необходимо получить информацию о состоянии какого-либо каталога, достаточно воспользоваться командой EXAMINE с именем каталога в качестве аргумента команды, например:

С: А932 EXAMINE bloop
S: * 17 EXISTS
.

Команда EXAMINE возвращает те же параметры, что и команда SELECT, а отличается от команды SELECT только тем, что открывает заданный почтовый ящик исключительно на чтение.

Если необходимо запросить статус какой-либо папки, не меняя текущий каталог, можно воспользоваться командой STATUS. В качестве параметров данной команде придаются: имя папки и тип запрашиваемой информации. В зависимости от указанного типа, команда может возвращать: количество сообщений в папке, количество новых сообщении количество непрочитанных сообщений, UIDVALIDITY каталога, UID следующего сообщения, которое будет добавлено в данную папку, например:

Илон Маск рекомендует:  Пишем многозадачную ос в real mode

С: A042 STATUS blob (MESSAGES UNSEEN)
S: * STATUS blob (MESSAGES 231 UNSEEN 12)
S: A042 OK STATUS completed

Чтобы получить список папок (подкаталогов), находящихся в определенной папке и доступных клиенту, можно воспользоваться командой LIST. Аргументами команды являются: имя каталога, список подкаталогов который хотим получить (пустая строка — «» означает текущий каталог) и маска имен подкаталогов. Имена каталогов и маски имен подкаталогов могут интерпретироваться по-разному, в зависимости от реализации почтовой системы и структуры описания иерархии папок. Например, список папок, находящихся в корне, можно получить так:

С: А004 LIST «/» *
S: * LIST (\Noinferiors ) «/» INBOX
S: * LIST

Ответ сервера содержит список папок в соответствии с их положением в иерархии и флаги данных папок (флаг «\Noinferiors» означает, что внутри данной папки нет, и не может быть построена иерархия).

После получения информации на каталог, пользователь может прочитать любое сообщение или определенную группу сообщении, часть сообщения или определенные атрибуты сообщения. Для этого используется команда FETCH. Аргументами данной команды являются порядковый номер сообщения и критерии запроса. Критерии содержат описание вида возвращаемой информации. Например, можно запросить части заголовков или UID-сообщений в папке, или сообщения, имеющие или не имеющие определенные флаги. Так запрос заголовков сообщений, находящихся в INBOX с порядковыми номерами от 10 до 12, будет выглядеть так:

С: А654 FETCH 10:12 BODY [HEADER]
S: * 10 FETCH BODY [HEADER] <350>
S: Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDTl
S: From: raan@globe.com
S: Subject: Hi
S: To: imap@world.edu
S: Message-Id:
S^ mime-Vresion: 1.0
S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S: )
S: * 11 FETCH .
S: * 12 FETCH .
S: A654 OK FETCH completed

После просмотра сообщения, пользователь может сохранить его с другими флагами, добавить или удалить флаги сообщения ( пометить данное сообщение на удаление). Для этого используется команда STORE. Аргументами команды являются: номера сообщений, идентификатор операции и перечень флагов. Например, операция добавления флага удаления («\Dеleted») трем сообщениям выглядит следующим образом:

С: АОО3 SТОRЕ 2:4 +FLAGS (\DELETED)
S: * 2 FETCH FLAGS (\Deleted \ Seen)
S: * 3 FETCH FLAGS (\Deleted )
S: * 4 FETCH FLAGS (\Deleted \Flagged \Seen)
S: A003 OK STORE completed

Ответом на выполнение команды будут переданы строки новых флагов указанных сообщений.

Пользователь также может организовать поиск сообщений по определенным критериям. Для этого используется команда SEARCH. Например, поиск всех непрочитанных сообщений, поступивших от «smith» с 1-03-96 будет выглядеть так:

C: A282 SEARCH UNSEEN FROM ‘Smith» SINCE 1-Mar-1996
S: * SEARCH 2 84 882
S: A282 OK SEARCH completed

Результатом поиска будут сообщения с последовательными номерами 2, 84 и 882.

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

C: A003 APPENDSAVED-MESSAGES (\Seen) <310>
C: Date: Mon, 7 Feb 1997 21:52:25 — 0800
C: From: Fred Foobar
C: Subject: aftenoon meeteng
C: TO: mooch@owatagu.siam.edu
C: Message-Id:
C: Mime-Version: 1.0
C: Content-Type: Text/PLAIN; CHARSET=US-ASCII
C:
C: Hello Joe, do you think we can meet at 3:30 tomorrow?
C:
S: A003 OK APPEND completed

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

C: A003 COPY 2:4 MEETENG
S: A003 OK COPY completed

Пример работы IMAP4

S: * OK IMAP4 revl Service Ready
С: a001 login Vasy pasword
S: a001OK LOGIN completed
С: a002 SELECT INBOX
S: * 18 EXISTS
S: * 2 RECENT
S: * OK [UNSEEN 17) Message 17 is first unseen
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: a002 OK [READ-WRITE] SELECT completed
С: a003 FETCH 10:12 BODY [HEADER]
S: * 12 FETCH BODY [HEADER] <350>
S: Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDTl
S: From: raan@globe.com
S: Subject: Hi
S: To: imap@world.edu
S: Message-Id:
S^ mime-Vresion: 1.0
S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S: )
S: a003 OK FETCH completed
С: a004 SТОRЕ 12 +FLAGS (\DELETED)
S: * 12 FETCH FLAGS (\Deleted \ Seen)
S: A003 OK STORE completed
C: a005 logout
S: * BYE IMAP4rev1 server terminating connection
S: a005 OK LOGOUT completed

Просмотр сообщений на IMAP4 сервере с помощью Telnet

Получим письмо через Telnet.

Клиенту необходимо ввести следующие строки:

a001 login bogomolov ***********
a002 select inbox
a004 fetch 1 rfc822.header

Подключение и получение заголовка письма telnet’ом (UNIX) с сервера IMAP4 (Дионис)

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

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

Команды POP3 состоят из ключевых слов, за некоторыми следует один или более аргументов. Все команды заканчиваются парой CRLF ( символы с номерами 13 и10 ).

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

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

Ответы на некоторые команды могут состоять из нескольких строк. В этих случаях каждая строка разделена парой CRLF, а конец ответа заканчивается ASCII символом «.» и парой CRLF.

POP3 сессия состоит из нескольких режимов. Как только соединение с сервером было установлено и сервер отправил приглашение, то сессия переходит в режим AUTHORIZATION (Авторизация). В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим TRANSACTION (Передача).

В этом режиме клиент запрашивает сервер выполнить определённые команды. Когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается.

У POP3 сервера может быть INACTIVITY AUTOLOGOUT таймер. Этот таймер должен быть, по крайней мере, с интервалом 10 минут. Это значит, что если клиент и сервер не взаимодействуют друг с другом, сервер автоматически прерывает соединение и при этом не переходит в режим UPDATE.

Как только будет установлено TCP соединение с POP3 сервером, он отправляет приглашение, заканчивающееся парой CRLF, например:

S: +OK POP3 server ready

Теперь POP3 сессия находится в режиме AUTHORIZATION. Клиент должен идентифицировать себя на сервере, используя команды USER и PASS. Сначала надо отправить команду USER, после которой в качестве аргумента следует имя пользователя. Если сервер отвечает положительно, то теперь необходимо отправить команду PASS, за которой следует пароль. Если после отправки команды USER или PASS сервер отвечает негативно, то можно пробовать авторизироваться снова или выйти из сессии с помощью команды QUIT. После успешной авторизации сервер открывает и блокирует maildrop (почтовый ящик). В ответе на команду PASS сервер сообщает сколько сообщений находится в почтовом ящике и передаёт их общий размер. Теперь сессия находится в режиме TRANSACTION.

Команда: USER [имя]

Аргументы: [имя] — строка, указывающая имя почтового ящика

Описание: Передаёт серверу имя пользователя.

  • · +OK name is a valid mailbox
  • · -ERR never heard of mailbox name

Команда: PASS [пароль]

Аргументы: [пароль] — пароль для почтового ящика

Описание: Передаёт серверу пароль почтового ящика.

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

Команда: QUIT

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

Описание: Сервер завершает POP3 сессию и переходит в режим UPDATE.

Основные команды (Transaction)

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

Команда: STAT

Описание: В ответ на вызов команды сервер выдаёт положительный ответ «+OK», за которым следует количество сообщений в почтовом ящике и их общий размер в символах. Сообщения, которые помечены для удаления, не учитываются в ответе сервера.

Команда: LIST [сообщение]

Аргументы: [сообщение] — номер сообщения (необязательный аргумент)

Описание: Если был передан аргумент, то сервер выдаёт информацию о указанном сообщении. Если аргумент не был передан, то сервер выдаёт информацию о всех сообщениях, находящихся в почтовом ящике. Сообщения, помеченные для удаления, не перечисляются.

  • · +OK scan listing follows
  • · -ERR no such message

Команда:RETR [сообщение]

Аргументы: [сообщение] — номер сообщения

Описание: После положительного ответа сервер передаёт содержание сообщения.

  • · +OK message follows
  • · -ERR no such message

Команда: DELE [ообщение]

Аргументы: [ообщение] — номер сообщения

Описание: POP3 сервер помечает указанное сообщение как удалённое, но не удалет его, пока сессия не перейдёт в редим UPDATE.

  • · +OK message deleted
  • · -ERR no such message

Команда: NOOP

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

Описание: POP3 сервер ничего не делает и всегда отвечает положительно.

Команда: RSET

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

Описание: Если какие — то сообщения были помечены для удаления, то с них снимается эта метка.

Когда клиент передаёт команду QUIT в режиме TRANSACTION, то сессия переходит в режим UPDATE. В этом режиме сервер удаляет все сообщения, помеченные для удаления. После этого TCP соединение закрывается.

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

Команда: TOP [сообщение] [n]

Аргументы: [сообщение] — номер сообщения [n] — положительное число (обязательный аргумент)

Описание: Если ответ сервера положительный, то после него он передаёт заголовки сообщения и указанное кол — во строк из тела сообщения.

Возможные ответы: +OK top of message follows -ERR no such message

Команда: UIDL [сообщение]

Аргументы: [сообщение] — номер сообщения (необязательный аргумент).

Описание: Если был указан номер сообщения, то сервер выдаёт уникальный идентификатор для этого сообщения. Если аргумент не был передан, то идентификаторы перечисляются для всех сообщений, кроме помеченных для удаления.

Протокол POP3 (Post Office Protocol)

Delphi , Интернет и Сети , Протоколы

Протокол POP3 (Post Office Protocol)

— Ты что, Интернет подключил?
— А, что, гдаза умные стали?
— Нет, красные.

Post Office Protocol (POP) — протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рис.7 изображена модель клиент-сервер по протоколу 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 перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации.

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

  • USER — Идентифицирует пользователя с указанным именем
  • PASS — Указывает пароль для пары клиент-сервер
  • QUIT — Закрывает TCP-соединение
  • STAT — Сервер возвращает количество сообщений в почтовом ящике плюс размер почтового ящика
  • LIST — Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения)
  • RETR — Извлекает сообщение из почтового ящика (требуется указывать аргумент-идентификатор сообщения)
  • DELE — Отмечает сообщение для удаления (требуется указывать аргумент — идентификатор сообщения)
  • NOOP — Сервер возвращает положительный ответ, но не совершает никаких действий
  • LAST — Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались
  • RSET — Отменяет удаление сообщения, отмеченного ранее командой DELE

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

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

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

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

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

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

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

Команда NOOP не возвращает никакой полезной информации, за исключением позитивного ответа сервера. Однако позитивный ответ означает, что сервер находится в соединении с клиентом и ждет запросов:

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

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

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

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

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

Статья Протокол POP3 (Post Office Protocol) раздела Интернет и Сети Протоколы может быть полезна для разработчиков на Delphi и FreePascal.

Комментарии и вопросы

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

Как работает протокол POP3

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

Илон Маск рекомендует:  Полезные ссылки для WEB-мастеров

В настоящее время существуют две версии протокола 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

POP3 — одна из реализаций протокола входящей почты. Именно по нему ваш почтовый клиент получает почту с вашего почтового сервера. Так исторически сложилось, что сервер входящей почты крутиться на 110-м порту, и обмен данными по протоколу POP3 между клиентом и сервером идет именно через этот порт.

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

Сдесь COMM — сама команда. Она может состоять из трех или четырех символов. [arg1] [arg2] … [argn] — аргументы передаваемые команде.

В ответ на команду сервер отвечает следующей структурой:

STATUS может принимать только два значения — +OK (свидетельствует об успешном выполнении команды) и -ERR (соответственно ошибка). Обычно (хотя совсем не обязательно) после STATUS следует какая-то информация о результате.

Ниже приведены команды и возможные ответы сервера:

Теперь давай посмотрим на практике что же представляет собой сеанс работы по POP3. Для этого нам понадобиться только одна программа. Она есть во всех без исключения операционных системах. Называется она telnet =) И так, запускай командный интерпретатор своей операционки и вперед:

Что Такое POP3, SMTP и IMAP

Введение

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

Шаг 1 — Что такое POP3 и какие у него порты?

POP3 (протокол почтового отделения версия 3) часто используется для связи с удаленным сервером электронной почты и загрузки сообщений на локальный почтовый клиент с последующим удалением его на сервере, к примеру Outlook, Thunderbird, Windows Mail, Mac 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 используется исключительно для отправки сообщений.

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

Заключение

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

Протокол POP3 (Post Office Protocol)

Delphi , Интернет и Сети , Протоколы

Протокол POP3 (Post Office Protocol)

— Ты что, Интернет подключил?
— А, что, гдаза умные стали?
— Нет, красные.

Post Office Protocol (POP) — протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рис.7 изображена модель клиент-сервер по протоколу 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 перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации.

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

  • USER — Идентифицирует пользователя с указанным именем
  • PASS — Указывает пароль для пары клиент-сервер
  • QUIT — Закрывает TCP-соединение
  • STAT — Сервер возвращает количество сообщений в почтовом ящике плюс размер почтового ящика
  • LIST — Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения)
  • RETR — Извлекает сообщение из почтового ящика (требуется указывать аргумент-идентификатор сообщения)
  • DELE — Отмечает сообщение для удаления (требуется указывать аргумент — идентификатор сообщения)
  • NOOP — Сервер возвращает положительный ответ, но не совершает никаких действий
  • LAST — Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались
  • RSET — Отменяет удаление сообщения, отмеченного ранее командой DELE

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

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

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

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

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

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

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

Команда NOOP не возвращает никакой полезной информации, за исключением позитивного ответа сервера. Однако позитивный ответ означает, что сервер находится в соединении с клиентом и ждет запросов:

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

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

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

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

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

Статья Протокол POP3 (Post Office Protocol) раздела Интернет и Сети Протоколы может быть полезна для разработчиков на Delphi и FreePascal.

Комментарии и вопросы

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL