Сравнение почтовых протоколов POP3 и IMAP что лучше и для чего. Настройка электронной почты POP или IMAP на Android G1

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

Настроить программу по протоколу IMAP

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

Перед настройкой почтовой программы включите работу протокола IMAP:

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

Входящая почта

  • защита соединения - SSL ;
  • порт - 993 .
Исходящая почта
  • защита соединения - SSL ;
  • порт - 465 .

. ru »

Поддержка протокола IMAP включится автоматически при первой авторизации в почтовой программе.

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

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

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

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

Входящая почта

  • защита соединения - SSL ;
  • порт - 995 .
Исходящая почта
  • адрес почтового сервера - smtp.yandex.ru ;
  • защита соединения - SSL ;
  • порт - 465 .

Для доступа к почтовому серверу укажите ваш логин и пароль на Яндексе (или , если вы включили двухфакторную аутентификацию) . Если вы настраиваете получение почты с ящика вида «login@yandex.ru » , логином является часть адреса до знака «@» . Если вы используете , в качестве логина необходимо указывать полный адрес почтового ящика.

Вы можете настроить получение писем по протоколу POP3 из любой папки, включая Спам . Для этого откройте меню Настройка → Почтовые программы и отметьте нужные папки.

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

Проблемы с почтовой программой

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

Выберите проблему:

Какое сообщение вы получили?

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

Убедитесь, что в разделе настроек Почтовые программы включен тот\n протокол, которым вы хотите воспользоваться.\n

Убедитесь, что в настройках почтовой программы вы точно указали\\n следующие параметры серверов:\\n \\n \\n

Если вы используете IMAP

    \\n
  • адрес почтового сервера - imap.yandex.ru ;
  • \\n
  • защита соединения - SSL ;
  • \\n
  • порт - 993 .
  • \\n
    \\n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \\n
  • защита соединения - SSL ;
  • \\n
  • порт - 465 .
  • \\n
\\n \\n \\n \\n\\n

\\n \\n \\n \\n

Если вы используете POP3

\\n \\n \\n Входящая почта \\n \\n

    \\n
  • адрес почтового сервера - pop.yandex.ru ;
  • \\n
  • защита соединения - SSL ;
  • \\n
  • порт - 995 .
  • \\n
\\n \\n \\n \\n Исходящая почта \\n \\n
    \\n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \\n
  • защита соединения - SSL ;
  • \\n
  • порт - 465 .
  • \\n
\\n \\n \\n \\n\\n

\\n \\n \\n \\n\\n

Подробнее о том, как проверить настройки серверов в разных почтовых\\n программах, см. в разделе .

\\n "}]}}\">

Убедитесь, что в настройках почтовой программы вы точно указали\n следующие параметры серверов:

Если вы используете IMAP

    \n
  • адрес почтового сервера - imap.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 993 .
  • \n
    \n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 465 .
  • \n
\n \n \n \n\n

\n \n \n \n

Если вы используете POP3

\n \n \n Входящая почта \n \n

    \n
  • адрес почтового сервера - pop.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 995 .
  • \n
\n \n \n \n Исходящая почта \n \n
    \n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 465 .
  • \n
\n \n \n \n\n

\n \n \n \n\n

Шифрование передаваемых данных .


\n\n "}]}}">

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

Убедитесь, что в настройках почтовой программы вы точно указали\n следующие параметры серверов:\n \n \n

Если вы используете IMAP

\n \n \n Входящая почта \n \n

    \n
  • адрес почтового сервера - imap.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 993 .
  • \n
\n \n \n \n Исходящая почта \n \n
    \n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 465 .
  • \n
\n \n \n \n\n

\n \n \n \n

Если вы используете POP3

\n \n \n Входящая почта \n \n

    \n
  • адрес почтового сервера - pop.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 995 .
  • \n
\n \n \n \n Исходящая почта \n \n
    \n
  • адрес почтового сервера - smtp.yandex.ru ;
  • \n
  • защита соединения - SSL ;
  • \n
  • порт - 465 .
  • \n
\n \n \n \n\n

\n \n \n \n\n

Подробнее о том, как проверить настройки серверов в разных почтовых\n программах, см. в разделе Шифрование передаваемых данных .

\n "}]}}">

Убедитесь, что в настройках почтовой программы вы точно указали следующие параметры серверов:

Если вы используете IMAP

Входящая почта

  • адрес почтового сервера - imap.yandex.ru ;
  • защита соединения - SSL ;
  • порт - 993 .
Исходящая почта
  • адрес почтового сервера - smtp.yandex.ru ;
  • защита соединения - SSL ;
  • порт - 465 .

Если вы используете POP3

Входящая почта

  • адрес почтового сервера - pop.yandex.ru ;
  • защита соединения - SSL ;
  • порт - 995 .
Исходящая почта
  • адрес почтового сервера - smtp.yandex.ru ;
  • защита соединения - SSL ;
  • порт - 465 .

Подробнее о том, как проверить настройки серверов в разных почтовых программах, см. в разделе Шифрование передаваемых данных .



Если возникает сообщение «Authentication required» , «Sender address rejected: Access denied» или «Send auth command first» , в настройках почтовой программы отключена авторизация на SMTP-сервере Яндекса. Убедитесь, что включена опция Проверка подлинности пользователя (для Outlook Express) или Аутентификация SMTP (для The Bat!).

Если возникает сообщение «Sender address rejected: not owned by auth user» , адрес, с которого вы пытаетесь отправить письмо, не совпадает с тем, под логином которого вы авторизованы на SMTP-сервере. Убедитесь, что в настройках почтовой программы в качестве обратного адреса указан именно тот адрес, логин от которого используется в настройках авторизации на SMTP.

Если возникает сообщение «Login failure or POP3 disabled» , почтовая программа не может получить доступ к почтовому ящику по протоколу POP3. Убедитесь, что введен правильный пароль от ящика и на в разделе настроек включен доступ по протоколу POP3.

Если возникает сообщение «Message rejected under suspicion of SPAM» , содержимое вашего письма было распознано Яндекс.Почтой как спам. Чтобы решить проблему, откройте Яндекс.Почты и отправьте одно любое письмо в виде теста. Так вы докажете системе, что письма отправляет не робот.

Проверьте ваш компьютер на вирусы с помощью бесплатных антивирусных программ: CureIt! от Dr.Web и Virus Removal Tool от «Лаборатории Касперского».

Если почтовая программа не принимает или не отправляет письма, проверьте корректность настроек вашей почтовой программы , а также настроек соединения вашего компьютера с интернетом.

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

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

Выберите проблему:

Когда вы удаляете письма, они попадают в папку Удалённые и хранятся в ней 30 дней. В этот период вы можете их восстановить:

    Перейдите в папку Удалённые .

    Выделите нужные письма.

    Нажмите кнопку В папку .

Если с момента их удаления прошло больше месяца, восстановить письма не получится - они были навсегда удалены с серверов Яндекс.Почты.

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

Письма нашлись?

Вы можете восстановить письма:

    Перейдите в папку, в которой нашлись письма.

    Выделите нужные письма.

    Нажмите кнопку В папку .

    Выберите из списка папку, куда хотите переместить письма, - например, Входящие .

Почему письма пропадают и как этого избежать

В папке Удалённые письма хранятся 30 дней, в папке Спам - 10 дней. После этого они будут навсегда удалены с серверов Яндекса. Почему письма могут попасть в эти папки без вашего ведома:

Доступ к вашему почтовому ящику есть у другого пользователя

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

Письма пропадают в почтовой программе

настроить программу по протоколу POP3

Настроено правило, которое удаляет или перемещает письма Письма пропадают в почтовой программе

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

Настроено правило, которое удаляет или перемещает письма Укажите в Яндекс.Паспорте достоверные и привяжите к аккаунту . Возможно, наша система безопасности сочла ваш аккаунт подозрительным и заблокировала ящик. Чаще всего это происходит из-за того, что к ящику не привязан номер телефона или в Паспорте указаны вымышленные имя и фамилия. На снятие блокировки обычно уходит пара часов.

Если вы в почтовой программе удаляете письма, а на сайте Яндекс.Почты они по-прежнему находятся в своих папках, то, скорее всего, ваша почтовая программа настроена по протоколу POP3. Из-за особенностей работы протокола POP3 письма в почтовой программе могут некорректно синхронизироваться с сервером. Для работы с Яндекс.Почтой рекомендуется использовать протокол IMAP. О том, как перенастроить почтовую программу с POP3 на IMAP, см. в разделе Переход с протокола POP3 .

Если в почтовой программе не отображаются отправленные письма, то, скорее всего, ваша почтовая программа настроена по протоколу POP3. Из-за особенностей работы протокола POP3 письма в почтовой программе могут некорректно синхронизироваться с сервером. Для работы с Яндекс.Почтой рекомендуется использовать протокол IMAP. О том, как перенастроить почтовую программу с POP3 на IMAP, см. в разделе Переход с протокола POP3 .

В отчете всегда указывается причина недоставки. О наиболее частых причинах можно прочитать в статье web/letter/create.html#troubleshooting__received-report .

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

  • На компьютере (без отставаний и «дат из будущего» ). Если установлена неправильная дата, система ошибочно определяет, что срок сертификата еще не наступил или уже кончился.
  • Установлены все .
  • В настройках вашего антивируса отключена проверка HTTPS-соединений. Изменить настройки антивируса вы можете по нашим инструкциям для Kaspersky Internet Security и ESET NOD32 Smart Security в разделе Ошибки сертификата безопасности .

Добавить сертификат в список доверенных сертификатов вручную (Windows)

Внимание. Если вы не уверены, что сможете самостоятельно установить сертификат, обратитесь к специалисту.

Чтобы добавить сертификат в список доверенных сертификатов:

    Скачайте сертификат . (Если файл по ссылке открывается прямо в браузере, нажмите CTRL + S и сохраните файл на компьютер; копировать текст из файла не нужно.)

    Откройте меню Пуск .

    В поле поиска введите certmgr.msc и нажмите клавишу Enter .

    В окне программы, в дереве папок нажмите на папку Доверенные корневые центры сертификации .

    В правой части окна нажмите правой кнопкой мыши на Сертификаты и выберите пункт Все задачи → Импорт .

    Нажмите кнопку Обзор и выберите файл CA.pem , скачанный ранее. Нажмите Далее .

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

Иногда встаёт задача перейти на новую и более удобную почтовую систему, но мешают накопленные архивы писем. Бросить их на прежнем месте? Жалко. Пароли забываются. Бывает, утрачиваются номера мобильных и 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 заметно сложнее чем POP3 и просто по набору возможностей и команд, и по некоторых базовым принципам функционирования. Например, в IMAP используется тегирование команд клиента и ответов сервера на эти команды, что позволяет серверу отвечать на команды в произвольном порядке.

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

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

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

13.04.17 1.7K

Если некоторые электронные письма вы получаете на одном ПК, а остальные — на другом, это может вызвать проблемы. Так как при этом не используется 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 » и следуйте указаниям мастера настройки.

Базируется на транспортном протоколе TCP и использует порт 143.

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

Для отправки писем используется протокол SMTP .

Цель разработки протокола IMAP

Протокол IMAP представляет собой альтернативу POP3.

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

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

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

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

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

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

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера.

IMAP4 имеет явный механизм расширения.

Версии протокола IMAP

  • Original IMAP (1986, спецификация отсутствует)
  • IMAP2 (1988 - RFC 1064 , 1990 - RFC 1176)
  • IMAP3 (1991, RFC 1203)
  • IMAP2bis (спецификация существует только в черновом варианте 1993 года)
  • IMAP4 (переименованный IMAP2bis)

Сообщения и их атрибуты

IMAP работает только с сообщениями и не требует каких-либо пакетов со специальными заголовками.

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

UID

Каждому сообщению ставится в соответствие 32-битовый код, который при использовании совместно с уникальным идентификатором образует 64-битовую последовательность, гарантирующую однозначную идентификацию сообщения в почтовом ящике. Чем позже сообщение пришло, тем больше его UID.

UID ассоциируется с почтовым ящиком и посылается в виде кода uidvalidity отклика (ok) на фазе выбора почтового ящика. Если UID из предыдущей сессии по какой-то причине не может быть использован, UID должен быть инкрементирован.

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

Порядковый номер сообщения

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

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

Флаги сообщения

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

Системным флагом является флаг, имя которого определено в спецификации протокола. Все системные флаги начинаются с символа \ .

В настоящее время определены следующие системные флаги:

  • \seen - сообщение прочитано
  • \answered - на сообщение отправлен ответ
  • \flagged - сообщение отмечено как «важное»
  • \deleted - сообщение отмечено как удаленное
  • \draft - сообщение отмечено как черновик
  • \recent - недавнее сообщение (впервые появилось в ящике в ходе текущей сессии)

Внутренние дата и время сообщения на сервере

Время и дата получения сообщения. В случае доставки сообщения посредством протокола SMTP - дата и время доставки конечному адресату. Для сообщений, доставленных командой копирования - внутренняя дата и время отправителя сообщения. При использовании команды append - дата и время, заданные параметрами команды.

Прочие атрибуты

  • размер сообщения - число октетов в сообщении.
  • структура конверта сообщения.
  • структура тела сообщения

Взаимодействие клиента и сервера

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

Любая процедура начинается с команды клиента. Любая команда клиента начинается с префикса-идентификатора (обычно короткая буквенно-цифровая строка, например, A0001 , A0002 и т. д.), называемого меткой (tag). Для каждой команды клиент генерирует свою метку.

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

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

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

Данные, передаваемые сервером клиенту, а также статусные отклики, которые не указывают на завершение выполнения команды, имеют префикс * и называются непомеченными откликами.

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

Отклик указывает на удачное/неудачное выполнение операции. Он использует ту же метку, что и команда клиента, запустившая процедуру. Таким образом, если осуществляется более чем одна команда, метка сервера указывает на команду, вызвавшую данный отклик. Имеется три вида отклика завершения сервера: ok (успешное выполнение), no (неудача), bad (протокольная ошибка, например, не узнана команда или зафиксирована синтаксическая ошибка).

Протокольный приемник клиента IMAP 4.1 читает строку отклика от сервера и предпринимает действия в соответствии с первым символом * или + .

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

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

Сервер IMAP 4.1 находится в одном из четырёх состояний.

Большинство команд можно использовать только в определенных состояниях.

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

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

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

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

  • (1) Соединение без предварительной аутентификации
  • (2) Соединение с предварительной аутентификацией
  • (3) Соединение отвергнуто
  • (4) Успешное завершение команды LOGIN или AUTHENTICATE
  • (5) Успешное завершение команды SELECT или EXAMINE
  • (6) Выполнение команды CLOSE или неудачная команда SELECT или EXAMINE
  • (7) Выполнение команды LOGOUT , закрытие сервера, или прерывание соединения

Команды протокола IMAP

LOGIN Позволяет клиенту при регистрации на сервере IMAP использовать идентификатор пользователя и пароль в обычном текстовом виде. Это не самый лучший метод, но иногда это единственная возможность подключиться к серверу. AUTHENTICATE Позволяет клиенту использовать при регистрации на сервере IMAP альтернативные методы проверки подлинности. Индивидуальная проверка подлинности пользователей не является обязательной и поддерживается не всеми серверами IMAP. К тому же реализации такой проверки могут различаться в зависимости от сервера. Когда клиент выдает команду AUTHENTICATE , сервер отвечает на неё строкой вызова в кодировке base64 . Далее клиент должен отправить ответ на вызов сервера о проверке подлинности, также закодированный base64. Если на сервере не поддерживается метод проверки подлинности, предложенный клиентом, он включает в свой ответ слово NO . После этого клиент должен продолжить переговоры по согласованию метода проверки подлинности. Если все попытки определить метод проверки подлинности потерпели неудачу, то клиент предпринимает попытку зарегистрироваться на сервере посредством команды LOGIN . CLOSE Закрывает почтовый ящик. Когда почтовый ящик закрыт, то все сообщения, помеченные флагом \DELETED , физически удаляются из него. Не имеет параметров. LOGOUT Завершает сеанс для текущего идентификатора пользователя и закрывает все открытые почтовые ящики. Если какие-либо сообщения были помечены флагом \deleted , то с помощью этой команды они будут физически удалены из почтового ящика. CREATE Создаёт новый почтовый ящик. Имя и местоположение новых почтовых ящиков определяются в соответствии с общими спецификациями сервера. DELETE Применяется к почтовым ящикам. Сервер IMAP при получении этой команды попытается удалить почтовый ящик с именем, указанным в качестве аргумента команды. Сообщения удаляются вместе с ящиками и восстановлению не подлежат. RENAME Изменяет имя почтового ящика. Эта команда имеет два параметра - имя почтового ящика, который требуется переименовать, и новое имя почтового ящика. SUBSCRIBE Добавляет почтовый ящик в список активных ящиков клиента. В это команде используется только один параметр - имя почтового ящика, который нужно внести в список. Почтовый ящик не обязательно должен существовать, чтобы его можно было добавить в список активных ящиков - это позволяет добавлять в список активных ящиков ящики, которые ещё не созданы, или удалять их, если они пусты. UNSUBSCRIBE Удаляет почтовые ящики из списка активных. В ней так же используется один параметр - имя почтового ящика, который удаляется из списка активных ящиков клиента. При этом сам по себе почтовый ящик не удаляется. LIST Получить список всех почтовых ящиков клиента; имеет два параметра. LSUB В отличие от команды LIST используется для получения списка ящиков, активизированных командой SUBSCRIBE . Параметры - такие же, как у LIST . STATUS Формирует запрос о текущем состоянии почтового ящика. Первым параметром для этой команды является имя почтового ящика, к которому она применяется. Второй параметр - это список критериев, по которым клиент хочет получить информацию. Команда STATUS может использоваться для получения информации о состоянии почтового ящика без его открытия с помощью команд SELECT или EXAMINE . Пользователь может получить информацию по критериям:
  • MESSAGES - общее число сообщений в почтовом ящике
  • RECENT - число сообщений с флагом \recent
  • UIDNEXT - идентификатор UID, который будет назначен новому сообщению
  • UIDVALIDITY - уникальный идентификатор почтового ящика
  • UNSEEN - число сообщений без флага \seen
APPEND Добавляет сообщение в конец указанного почтового ящика. В качестве аргументов указываются имя ящика, флаги сообщения (не обязательно), метка времени (не обязательно) и само сообщение - заголовок и тело. Имеются следующие флаги сообщений:
  • \Seen - прочитано
  • \Answered - написан ответ
  • \Flagged - срочное
  • \Deleted - помечено для удаления
  • \Draft - черновик
  • \Recent - новое сообщение, оно поступило в почтовый ящик после окончания прошлого сеанса
Если в команде указаны флаги, то они устанавливаются для добавляемого сообщения. В любом случае для сообщения устанавливается флаг \Recent . Если в команде задана метка времени, то это время будет установлено в качестве времени создания сообщения, в противном случае за время создания принимается текущее время. Поскольку сообщение состоит не из одной строки, используются литералы. Пример: C A003 APPEND saved-messages (\Seen) {247} S + Ready for literal data C Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C From: Fred Foobar C Subject: afternoon meeting C To: [email protected] C Message-Id: C C Hello Joe, do you think we can meet at 3:30 tomorrow? S A003 OK APPEND completed Расширение MULTIAPPEND , описанное в RFC 3502 , позволяет одной командой добавлять в почтовый ящик несколько сообщений. CHECK Устанавливает контрольную точку в почтовом ящике. Любые операции, такие, например, как запись данных из памяти сервера на его жёсткий диск, должны выполняться при соответствующем состоянии почтового ящика. Именно для проверки целостности почтового ящика после дисковых и других подобных им операций и применяется команда CHECK . Эта команда используется без параметров. EXPUNGE Удаляет из почтового ящика все сообщения, помеченные флагом \DELETED , при этом почтовый ящик не закрывается. Ответ сервера на команду EXPUNGE представляет собой отчёт о новом состоянии почтового ящика. SEARCH Поиск сообщений по критериям в активном почтовом ящике с последующим отображением результатов в виде номера сообщения. Возможен поиск сообщений, в теле которых имеется определённая текстовая строка, или имеющих определённый флаг, или полученных до определённой даты и т. д. FETCH Получить текст почтового сообщения. Команда применяется только для отображения сообщений. В отличие от POP3, клиент IMAP не сохраняет копию сообщения на клиентском ПК. STORE Изменяет информацию о сообщении. COPY Копирует сообщения из одного почтового ящика в другой. UID Используется в связке с командами FETCH , COPY , STORE или SEARCH . С её помощью в этих командах можно использовать реальные идентификационные номера UID вместо последовательности чисел из диапазона номеров сообщений. CAPABILITY Запрос у сервера IMAP информацию о его возможностях. NOOP Команда ничего не делает. Она может применяться для поддержки активности во время сеанса для того, чтобы сеанс не прекратился по таймеру интервала ожидания. Ответ сервера на команду NOOP всегда должен быть положительным. Так как сервер часто в ответе возвращает состояние выполнения той или иной команды, то NOOP вполне можно использовать как триггер для периодического запроса о состоянии сервера.

Ссылки

  • RFC 3501 Internet Message Access Protocol v4rev1 (англ.)
  • The IMAP Connection (англ.)
  • Howto: Configuring KMail with Gmail - IMAP and Disconnected IMAP (англ.)

Сегодня мы подробно расскажем про наиболее используемые в сети интернет протоколы – 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, формат адреса должен быть в формате имя_пользователя@доменное_имя . Доставка почты, аналогична работе обычной почтовой службы: например, письмо на адрес [email protected], будет интерпретирован так: ivan_ivanov – адрес, а merionet.ru – почтовый индекс. Если доменное имя получателя отличается от доменного имени отправителя, то MSA (Mail Submission Agent) отправит письмо через Mail Transfer Agent (MTA). Главная идея MTA в том, чтобы перенаправлять письма в другую доменную зону, по аналогии, как традиционная почты отправляет письма в другой город или область. MTA так же получает почту от других MTA.

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