POP3 vs IMAP: какой протокол позволяет получать электронную почту на любом устройстве. Стандартный POP3-порт. Настройка почты через POP3

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

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

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

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

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

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

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

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

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

В настоящее время методов общения через Интернет масса. Можно использовать ICQ или Skype, социальные сети, иные ресурсы. Примерно два десятка лет назад единственным способом отправить или получить виртуальное письмо была электронная почта.

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

Протоколы передачи данных, используемые при работе с электронной почтой

Любой форме коммуникаций присущ определенный стиль – набор соглашений. В сети – это протокол. При работе с E-mail может использоваться ряд протоколов. Среди них:

  • POP3;
  • IMAP.

В чем заключается разница, какой протокол и в каком случае целесообразно использовать?

Что такое POP3

Желая отправить письмо или поверить личный почтовый ящик, расположенный на удаленном сервере, пользователь может воспользоваться браузером, установленным на компьютере, что не совсем удобно. Чаще применяется , которая и обменивается информацией с сервером, используя определенный протокол. Если это – Post Office Protocol, процесс происходит следующим образом:

  1. Соединение;
  2. Получение клиентом информации о состоянии ящика, загрузка писем;
  3. Обновление сервера и удаление выбранных сообщений;
  4. Закрытие соединения.

Что такое IMAP

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

Плюсы и минусы IMAP и POP3

Какой протокол выбрать? Все зависит от специфики работы и потребностей.

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

  • Возможность доступа к ящику с нескольких клиентов;
  • Поддержка одновременного доступа нескольких клиентов;
  • Поддержка нескольких ящиков;
  • Возможность создания новых папок, к которым может быть открыт доступ другим пользователям;
  • Возможность помечать письма как прочитанные, важные и другие;
  • Поддержка поиска на сервере;
  • Возможность работы в режиме on-line.

Минус в данном случае единственный – пользователь тратит больше времени на загрузку писем с центрального компьютера.

Если некоторые электронные письма вы получаете на одном ПК, а остальные — на другом, это может вызвать проблемы. Так как при этом не используется IMAP протокол .

Жена Уэйна Циммермана обычно читает электронную почту на своем ПК. Но когда она пытается просмотреть почту на компьютере мужа, сообщения теряются.

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

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

Вот два способа обойти эту проблему :

Использовать лучший протокол

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

В Outlook 2016 (который по умолчанию использует протокол POP3 ), нельзя напрямую изменить протокол учетной записи. Но можно создать новую учетную запись и удалить старую:

  1. В Outlook перейдите в меню Файл — Настройки учетной записи — Настройки учетной записи :


  1. На экране появится диалоговое окно «Настройки учетной записи ». Нажмите на кнопку «Создать »;
  2. В мастере «Добавить учетную запись » выберите пункт «Ручная настройка » или «Дополнительные типы серверов » (в левом нижнем углу ):


  1. На следующей странице выберите протокол POP или IMAP . (Да, это один из вариантов );
  2. Укажите всю необходимую информацию. Убедитесь, что в качестве типа учетной записи выбран IMAP ;
  3. Теперь у вас есть две учетные записи, которые обслуживают один и тот же адрес электронной почты. Вернитесь в папку «Входящие » и перетащите письма из старой учетной записи в новую;
  4. Вернитесь в диалоговое окно «Учетные записи », выберите старую учетную запись, настроенную на POP3 , и нажмите на кнопку «Удалить ».

Использовать веб-клиент

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

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

  1. В Gmail нажмите на значок инструмента, расположенный в правом верхнем углу и выберите пункт «Настройки »;
  2. Перейдите на вкладку «Учетные записи и импорт »;
  3. В разделе «Отправить письмо как » нажмите на кнопку «Добавить другой адрес электронной почты » и следуйте указаниям мастера настройки;
  4. Перейдите в раздел «Проверка почты из других учетных записей (с использованием POP3) », нажмите на кнопку «Добавить учетную запись электронной почты POP3 » и следуйте указаниям мастера настройки.


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

Перевод статьи «POP3 vs. IMAP Which protocol lets you get all of your email on any device » дружной командой проекта .

Хорошо Плохо