Что такое imap в электронной почте

Что такое IMAP и как его включить на GMAIL

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Настройки смартфонов

IMAP (англ. Internet Message Access Protocol) — интернет-протокол прикладного уровня для доступа к электронной почте.

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

Преимущества по сравнению с POP

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

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

Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP-трафик можно зашифровать с помощью SSL.

IMAP-сервер использует TCP-порт 143 или 993 (IMAP через SSL).

Заходим в ваш ящик на Gmail.com Settings меняем язык на English (US). У нас появляется закладка Forwarding and POP/IMAP. Надо влючить POP и IMAP и обязательно сохранить. Далее открываем Profimail и создаем новую учетную запись.
— тип почтового сервера выбираеи IMAP
— сервер входящей почты пишем imap.gmail.com
— сервер исходящей почты smtp.gmail.com
— логин ваш_адрес@gmail.com, в строке пароль ваш пароль.
— получать сообщения и включить в обновление по вашему выбору.
Далее входим в дополнительные настройки
— smtp авторизация ставим галочку
— smtp логин ваш_адрес@gmail.com, в строке пароль ваш пароль.
— imap порт 993
— smtp порт 465
— галочки ставим на использовать SSL для IMAP и для SSL для SMTP

Для настройки родного клиента(7ось)
— имя почтового ящака (по вашему выбору)
— текущая точка доступа(по вашему выбору)
— мой адрес электронной почты (ваш_адрес@gmail.com)
— сервер исходящей почты (smtp.gmail.com)
— передать сообщения (по вашему выбору)
— копию себе( по ващему выбору)
— включить подпись (по ващему выбору)
— имя пользователя (ваш_адрес@gmail.com)
— сервер входящей почты (imap.gmail.com)
— тип почтового ящика (imap4)
— защита SSL
— загрузить вложения (по вашему выбору)
— загрузить заголовки(по вашему выбору)

Проверена работоспособность на 3230 стандартный клиент и profmail 2.70
D720 родной лиент и profmail 2.70

Источник

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

Полезно

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

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

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

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

— Руководство администратора по Linux/Unix

Навигация

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

Телефония

FreePBX и Asterisk

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

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

Протоколы и стандарты

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

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

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Как работает электронная почта: SMTP, IMAP, POP3

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

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

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

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

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

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

Протокол 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.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

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

Онлайн курс по Linux

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

Источник

Internet Message Access Protocol (imap) — протокол доступа к почте

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Первая версия появилась в 1986 году, тогда протокол расшифровывался, как Interim Mail Access Protocol. Вторая версия вышла в 1988 году, название протокола было изменено на Interactive Mail Access Protocol. В 1991 году появилась третья версия, и в 1994 году четвертая версия протокола IMAP4, которую мы используем до сих пор. Спецификация чертой версии протокола IMAP была обновлена в 2003 году, после этого вышли дополнительные расширения протокола IMAP4.

Архитектура электронной почты

Протокол IMAP, также как и протокол РОР3 используется для чтения электронной почты, которая уже пришла в почтовый ящик пользователя. Для передачи почты используется протокол SMTP, а не IMAP.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Протокол IMAP

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

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

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

Место в стеке TCP/IP

В стеке протоколов TCP/IP протокол IMAP находится на прикладном уровне.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

IMAP использует протокол транспортного уровня TCP. Сервер IMAP работает на 143 порту.

Папки (mailbox)

В отличие от протокола РОР3, протокол IMAP позволяет использовать несколько почтовых ящиков (mailbox) или по-русски папки.

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

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

Флаги

Другое отличие протокола IMAP от РОР3, это использование флагов. Именно благодаря флагам, протокол IMAP позволяет узнать прочитанное это сообщение или нет, а также много другой полезной информации.

Флаги в IMAP это небольшая метка (token) которая добавляется к письму. Письмо может иметь несколько меток или не иметь ни одной. Флаги в IMAP бывают двух типов: Системные и Пользовательские.

Системные флаги и их назначения заданы в стандарте IMAP и они начинаются с обратного слеша (\).

Также могут создаваться Пользовательские флаги. Они не могут начинаться с символа \.

Состояния сеанса IMAP

При работе по протоколу IMAP клиент проходит через четыре состояния.

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

Для того чтобы отличать разные команды и ответы на них, в протоколе IMAP используются идентификаторы или теги команд. Это просто алфавитно-цифровая строка (А0001,А0002). Каждая команда клиента должна начинаться с тега. Сервер включает этот тег в ответ на команду, для того чтобы можно было определить к какой именно команде этот ответ относится.

Ответы IMAP

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

В Статусе в ответов IMAP всего лишь три:

Пример сеанса IMAP

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

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

* OK Cyrus IMAP 4 server ready //сервер выдает сообщения со статусом ОК, сервер готов. Сеанс находится в состоянии preautentificated.

A0001 LOGIN username password // клиенту необходимо пройти аутентификацию, для этого используется команда LOGIN, в отличие от протокола РОР3 в команде LOGIN указываются одновременно имя пользователя и его пароль. Обратите внимание, что перед началом команды клиент указывает метку А0001

A0001 OK User logged in // в ответ сервер выдает сообщение тоже самой меткой, статус сообщения ОК команда выполнена успешна, поясняющее сообщение USER прошел аутентификацию.

Сейчас мы находимся в состоянии «аутентификация пройдена» и нам необходимо выбрать папку, с которой мы хотим работать.

A0002 LIST “” “*” // для того чтобы получить список всех папок используется команда LIST.

* LIST (\ HasChildren) “/” “INBOX” // Основная папка INBOX именно она считается основным почтовым ящиком пользователя и в нее доставляются все письма. В этой папке есть вложенные папки (\ HasChildren)

* LIST (\ HasChildren) “/” “INBOX/Drafts” // папка Draft черновики

* LIST (\ HasChildren) “/” “INBOX/Junk” // папка Junk спам

* LIST (\ HasChildren) “/” “INBOX/Sent” // папка Sent отправленные письма

* LIST (\ HasChildren) “/” “INBOX/Trash” //папка Trash корзина

A0002 OK Completed //завершается вывод ответом сервера ОК и номером метки А0002 указывающее, к какой команде относится ответ.

Выбор папки

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

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

A0003 SELECT INBOX //для этого используется команда SELECT, выбираем папку INBOX

* OK [UIDVALIDITY 1340776425]

A0003 OK [READ-WRITE] Completed

Просмотр списка писем

А0004 FETCH 1: * FLAGS // для того чтобы посмотреть какие сообщения есть на сервере используется команда FETCH ей необходимо указать номер письма, с которым мы хотим работать, либо диапазон через двоеточия. Диапазон от 1:* говорит от том, что мы хотим получить информацию обо всех письмах, затем указывается именно информацию мы хотим получить.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

С начала мы хотим посмотреть флаги, в ответ сервер выдает перечень писем с флагами.

* 1 FETCH (FLAGS (\Seen)) // некоторые письма мы смотрели

* 2 FETCH (FLAGS (\Seen))

* 3 FETCH (FLAGS (\Answered \Seen)) // на некоторые мы отправили ответ

* 177 FETCH (FLAGS ()) // мы к нему подключались, но мы его не посмотрели.

* 178 FETCH (FLAGS (\Recent))

* 179 FETCH (FLAGS (\Recent)) // эти 3 письма мы видим в первый раз

* 180 FETCH (FLAGS (\Recent))

A0004 OK Completed (0.00 sec)

Чтение письма и установка флагов

A0005 FETICH 180 BODY [] // для того чтобы посмотреть письмо используется команда FETCH, указываем номер письма 180 последнее письмо, которое пришло, и что именно мы хотим посмотреть тело сообщения полностью BODY []

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

* 180 FETICH (FLAGS (\Recent \Seen) BODY [] <7077>//Сначала показываются флаги сообщения (FLAGS (\Recent \Seen), сервер автоматический установил у сообщения флаг Seen, означает то, что оно было просмотрено

Передача тела письма // а после этого выводиться само сообщение

Мы посмотрели сообщение или передали его на клиент, предположим, что мы решили, что в сообщение нет ничего интересного и его нужно удалить.

А0005 OK Completed (0.000 sec)

A0006 STORE 180 +FLAGS \Deleted // для этого необходимо установить флаг Deleted и это делается с помощью команды STORE, нужно указать номер сообщения 180, что именно мы хотим сохранить, хотим установить флаг +FLAGS и какой именно флаг хотим установить Deleted

* 180 FETICH (FLAGS (\Recent \Deleted \Seen)) // результат выполнение команды у сообщения номер 180 установлен флаг Deleted в дополнение к двум флагам, которые уже были установлены Recent и Seen

A0006 OK Completed

Удаление писем и выход

В IMAP также как в РОР3 сообщения не удаляются сразу после того, как они были помечены на удаление.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

A0007 EXPUNGE // В IMAP для этого используется специальная команда EXPUNGE. После того как это команда запущена, из папки удаляются все сообщения, которые были помечены на удаление. Если не запустить эту команду, а просто разорвать соединение, то в отличие от протокола РОР3 сообщения удалены не будут.

A0007 OK Completed

A0008 LOGOUT //для разрыва соединений используется команда LOGOUT

* BYE LOGOUT received //сервер отвечает, что полученная команда LOGOUT говорит нам пока.

A0008 OK Completed //и выдает ответ ОК команда выполнена.

После этого соединение разрывается.

Другие команды IMAP

В протоколе IMAP имеется больше количество других команд.

Команда Перемещение писем:

С помощью команды SEARCH можно искать письма на сервере по требуемую шаблону.

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

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

Заключение

И так мы рассмотрели протокол IMAP. Он используется для чтения писем из почтового ящика пользователя.

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

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

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

Источник

IMAP или POP 3: что лучше

Для современного человека очень важно иметь электронную почту. Со стороны пользователя всё выглядит просто: пишешь письмо в почтовом приложении, вводишь адрес получателя и нажимаешь на кнопку «Отправить». Однако в некоторых случаях электронную почту нужно настраивать. Для этого требуются технические знания, например, что такое POP3 и IMAP. Чаще всего с этими понятиями сталкиваются те, кому нужно завести корпоративную почту. В статье мы расскажем об этих почтовых протоколах и разберёмся, какой из них лучше — протокол POP3 или IMAP.

Как работает электронная почта

В процессе передачи сообщения задействовано 6 элементов:

Чтобы получать и отправлять письма на устройство, пользователь устанавливает почтовый клиент или использует веб-интерфейс. Почтовый клиент может работать с несколькими ящиками. Веб-интерфейс подключается только к одному. Клиенты: Microsoft Outlook, Thunderbird, Mailbird, TouchMail,The Bat!. Веб-интерфейсы для почты: Gmail, Mail.ru, Яндекс.Почта.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Пользователь пишет письмо в почтовом клиенте (или веб-интерфейсе) и вводит адрес получателя. Сообщение отправляется на почтовый сервер отправителя. Почтовый сервер отправителя ищет сервер получателя и отправляет ему письмо. Потом сервер адресата отдаёт послание через веб-интерфейс или почтовый клиент на устройство получателя.

Весь процесс отправки и получения писем основан на работе протоколов SMTP и POP3/IMAP. SMTP ― протокол исходящей почты. Его задача ― отправлять письма. Он всего один, поэтому при настройке вам необязательно знать его особенности. Если вам всё-таки интересно, можете прочитать статью.

А вот понимание особенностей протоколов входящей почты POP3 и IMAP точно пригодится при настройке.

Что такое POP3 и IMAP

POP3 (Post Office Protocol) ― это первый протокол, созданный для приёма сообщений. Его разработали в 1984 году. В те времена интернет уже существовал, но о его стабильной работе речи быть не могло. Пользователь не мог постоянно проверять присланные сообщения.

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

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

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

Порты для POP3 и IMAP

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

Преимущества и недостатки POP3

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

Преимущества POP3

Недостатки POP 3

Преимущества и недостатки IMAP

Преимущества IMAP

Недостатки IMAP

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

Чтобы определить, какой протокол выбрать, ответьте себе на несколько вопросов:

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

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

Сортирую ли я письма? Если писем приходит немного и их не нужно сортировать, можно воспользоваться POP3.

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

Источник

POP3 и IMAP: история почтовых протоколов и сбор писем по IMAP в Яндекс.Почте

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте(посвящается Марку Криспину 19.07.1956 — 28.12.2012)

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

Начнём наш экскурс в историю протоколов, через которые вы каждый день получаете свою сотню писем.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

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

Иногда встаёт задача перейти на новую и более удобную почтовую систему, но мешают накопленные архивы писем. Бросить их на прежнем месте? Жалко. Пароли забываются. Бывает, утрачиваются номера мобильных и email-адреса, введённые для их восстановления. Однажды можно потерять архивы навсегда. Скачать на локальный жесткий диск? Переписать на болванку или флешку? Но они ненадёжны: ломаются, теряются, портятся.

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

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

POP3 ведёт свою историю с 1984 года, когда одна из сотрудниц Института Информатики в составе Университета Южной Калифорнии, Джойс Рейнольдс, опубликовала RFC 918 — предложение стандартного протокола для получения электронной почты (POP — Post Office Protocol). Через 4 года появилась третья редакция протокола POP, а текущая, современная версия стандарта на POP3 опубликована весной 1996 года, почти 17 лет назад.

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

Сейчас уже сложно представить, что электронные письма не хранили на серверах. Их перекачивали на локальный компьютер при первой возможности и читали, сортировали по адресатам, темам и важности локально.

Интересно, что в протоколе POP2 была предусмотрена возможность работы с несколькими папками на сервере, но она оказалась невостребована, да и сам протокол распространения не получил. Поэтому в POP3 команду FOLD, которая реализовала эту возможность, убрали. POP2 обогнал время.

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

Было много попыток улучшить POP3, но ни одна из них не достигла такого успеха, как протокол IMAP, почти параллельно разивавшийся с 1985 года. История IMAP тоже весьма интересна. Например, первая реализация была сделана на Lisp-е, и его наследие навсегда осталось в протоколе в виде S-выражений, которыми кодируются сложные ответы сервера, такие как BODYSTRUCTURE.

Автор и идеолог IMAP Марк Криспин заложил в него принцип постоянного хранения писем на почтовом сервере. IMAP оказался одним из ранних «облачных» протоколов Интернета, рассчитанных на то, что локальное хранилище на персональном компьютере ненадёжно. Кроме того, персональных компьютеров и других терминалов для работы с почтой у человека может быть несколько — базовые вещи для нас теперешних.

Последняя версия IMAP — 4rev1 — описана в документе RFC 3501, увидевшем свет в 2003 году. Несмотря на кажущийся возраст, протокол получился живым благодаря предусмотренному на ранних этапах механизму расширений. Этот механизм, конечно, тоже не без недостатков, но тем не менее, он позволил различным людям выпустить более пятидесяти публичных расширений, многие из которых были разработаны совсем недавно и нашли широкое применение.

Современная почтовая система без поддержки доступа по IMAP — нонсенс. На протяжении нескольких лет Яндекс.Почта поддерживает IMAP в качестве сервера для работы из таких популярных клиентских программ, как Outlook, Thunderbird, Apple Mail, а также многочисленных мобильных клиентов. Кстати, именно благодаря смартфонам IMAP получил вторую волну развития. Если на персональных компьютерах уже довольно давно подавляющее большинство пользователей сделали выбор в пользу веб-интерфейса к своей почте, то с мобильными устройствами ситуация совсем не такая. Быстрые и красивые IMAP-клиенты, например в iOS, заставляют пересматривать подход к IMAP как к выбору исключительно профессиональных и «продвинутых» пользователей.

Недавно в Яндекс.Почте появилась и функция IMAP-клиента — сборщика почты с внешних серверов по IMAP — в дополнение к POP3-сборщику.

Функция не требует практически никакой настройки и рассчитана на фоновую работу после первого включения. При сборе почты через IMAP из-за описанных выше особенностей работы протокола в вашем почтовом ящике вы увидите ту структуру папок, к которой привыкли, когда пользовались предыдущей почтовой системой. Все прочтённые письма останутся прочтёнными, а непрочитанные — непрочитанными.

Что такое imap в электронной почте. Смотреть фото Что такое imap в электронной почте. Смотреть картинку Что такое imap в электронной почте. Картинка про Что такое imap в электронной почте. Фото Что такое imap в электронной почте

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

По-прежнему кроме самих писем импортируются контакты из адресных книг самых распространённых почтовых сервисов.

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

Каждая команда должна быть предварена некоторым идентификатором — тегом, который затем будет использован сервером при генерации ответа на эту команду. Это позволяет «беседе» клиента с сервером быть абсолютно асинхронной — сервер вправе отвечать на команды клиента в любом порядке, так как теги позволяют однозначно сопоставить ответ ранее поданной команде. Более того, сервер может выполнять такие команды одновременно, ускоряя скорость работы с почтой, и Яндекс.Почта умеет это использовать. Одновременно это требует особого подхода к программированию как клиента, так и сервера. Если вам в этом месте вспомнился механизм sequence numbers в TCP, то запишите себе +1 в geek cred 🙂

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

Переходите на Яндекс.Почту, настраивайте сборщик по IMAP — и вы всегда сможете найти любое старое письмо. Уж что-что, а искать Яндекс умеет.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *