Internet message access protocol (imap)
Содержание:
- Команды POP3
- История и документация
- Состояния сервера
- Java If Statement
- Инструкции по настройке почты на Yandex
- История
- Сервер POP3
- Сообщения и их атрибуты
- Взаимодействие клиента и сервера
- Что такое виртуальный жесткий диск?
- Solution 6. Flushing DNS might be useful
- MP3TagEditor 2.08
- Шаг 2. Настройте доступ по протоколу POP
- Имена почтовых ящиков
- Как пользоваться
- Выборка данных
- Цель разработки протокола IMAP
Команды POP3
Рассмотрим команды протокола РОР3. Команды USER и PASS используются на стадии авторизации, для того чтобы указать имя пользователя к почтовому ящику, к которому мы хотим подключиться и ввести пароль для защиты от несанкционированного доступа.
Следующие команды STAT, LIST, RERT, TOP, DELE выполняются на стадии транзакции, их выполнение возможно только, если стадия авторизации прошла успешно.
- Команда STAT показывает общие количество писем на почтовым сервере.
- Команда LIST показывает информацию о сообщениях, без параметров и показывает информацию обо всех сообщениях. А если указать номер конкретного сообщения, то выдается информацию только о нем.
- Команда RERT служит для передачи сообщения с сервера на клиент, этой команде необходимо указать номер сообщения, которые мы хотим загрузить.
- Команда TOP, которая похожа на команду RERT, но передает не полностью все сообщения, а только заголовки. Команде TOP, также необходимо указать номер сообщения, заголовки, которого мы хотим загрузить, а также необязательный второй параметр, который содержит количество строк основного письма. Например, 10 если второй аргумент не указать, то будут загружены только заголовки, а из основной части письма передаваться ничего не будет.
- Команда DELE используется для того, чтобы пометить на удаление сообщение которые были загружены командой RERT.
- Команда QUIT служит для завершения стадии транзакции и переход на стадию обновление. Выполняя команду QUIT клиент подтверждает, что все необходимые сообщения загружены на клиент, и те сообщения, которые помечены на удаление могут быть безопасно удалены с сервера. После выполнения команды QUIT соединение разрывается.
История и документация
Первая версия (POP1) была указана в документе RFC 918 (1984 г.), POP2 по RFC 937 (1985 г.). POP3 был инициирован RFC 1081 (1988 г.). Его текущая спецификация RFC 1939 обновлена с помощью механизма расширения RFC 2449 и механизма аутентификации в RFC 1734.
POP3 в настоящее время поддерживает несколько методов проверки подлинности, чтобы обеспечить различные уровни защиты от незаконного доступа к электронной почте пользователя. Большинство из них обеспечивается механизмами расширения POP3. Клиенты поддерживают методы аутентификации SASL через расширение AUTH. Проект MIT Athena также выпустил версию Kerberized. RFC 1460 представил APOP в основной протокол. APOP — это протокол вызова/ответа, который использует хэш-функцию MD5, чтобы избежать повторных попыток и нарушения конфиденциальности.
POP4 существует только как неофициальное предложение, добавляющее базовое управление папками, поддержку множественных сообщений, а также управление флагом сообщений для конкуренции с IMAP. Версия POP4 не развивается с 2003 года.
Состояния сервера
Сервер IMAP ожидает соединения от клиентов на порту TCP 143. После установления соединения сервер посылает свое приветствие клиенту, и начинается диалог, в котором клиент посылает серверу команды, а сервер сообщает о результатах их выполнения или присылает затребованную клиентом информацию. Как и сеанс POP3, сеанс IMAP делится на несколько состояний ( states ). Допустимый набор команд зависит от текущего состояния сеанса. Сеанс может находиться в одном из следующих состояний:
- Неаутентифицированное состояние
- Аутентифицированное состояние
- Выбранное состояние
- Состояние выхода
Переходы:
- Соединение без предварительной аутентификации
- Соединение с предварительной аутентификацией
- Отвергнутое соединение
- Успешная аутентификация
- Успешное выполнение команды SELECT или EXAMINE
- Команда CLOSE или неудачное завершение команды SELECT или EXAMINE
- Команда LOGOUT или потеря связи
Java If Statement
Инструкции по настройке почты на Yandex
Общие правила
Вы можете получать и отсылать почту не только через веб-интерфейс, но и с помощью различных почтовых клиентов. Например:
Если вы хотите получать почту с помощью ваших почтовых клиентов, включите работу протоколов POP3 или IMAP .
Чтобы это сделать, зайдите в Настройки вашего почтового ящике на Яндексе, откройте раздел «Почтовые программы». Выберите протокол, который хотите использовать, отметив его флажком. Сохраните результат, нажав на кнопку «Сохранить изменения».
Подробнее о работе протоколов POP3 и IMAP читайте ниже.
Настройка по протоколу IMAP
По протоколу IMAP почтовая программа будет не просто скачивать новые письма, а синхронизировать информацию на вашем компьютере с данными на сервере, отображая сразу всю структуру вашего ящика — все папки, как стандартные, так и настроенные вами вручную.
Для настройки почтового клиента по протоколу IMAP, укажите следующие данные:
- в разделе Входящие сообщения/Incoming mail (IMAP) нужно указать адрес почтового сервера imap.yandex.ru, установить SSL-защиту и порт 993. Если ваша программа по каким-то причинам не поддерживает SSL-защиту соединения, вы можете указать порт 143 и подключаться без SSL
- в разделе Исходящие сообщения/Outgoing mail (SMTP) необходимо указать адрес сервера smtp.yandex.ru, и подключаться по безопасному соединению SSL через порт 465. В случае, если вы не можете воспользоваться безопасным соединением, вы можете подключиться к SMTP-серверу по портам 25 или 587
При настройке почтовых программ в качестве логина и пароля для доступа к почтовому серверу нужно указать ваши логин и пароль на Яндексе. В качестве логина нужно указывать полный адрес почтового ящика.
Мы не рекомендуем использовать почтовый сервер вашего провайдера для отправки почты от вашего имени на Яндексе.
Поддержка протокола IMAP включится автоматически при первой авторизации в почтовой программе.
Настройка по протоколу POP3
При использовании протокола POP3 все ваши письма (из тех папок, которые вы укажете в Настройках ящика) будут скачиваться почтовой программой на ваш компьютер в папку «Входящие», после чего их можно будет при необходимости разложить по папкам с помощью фильтров, настроенных в самой почтовой программе.
Имейте ввиду, что многие почтовые программы по умолчанию удаляют письма с сервера при скачивании. В этом случае все письма в вашем ящике будут перемещаться в папку «Удаленные», откуда будут удалены по прошествии недели. Чтобы сохранить письма в ящике, вы можете установить в настройках почтовой программы опцию сохранения копий писем на сервере при скачивании, если ваша программа позволяет это сделать. Произвести эту настройку с нашей стороны невозможно.
При настройке почтовой программы по протоколу POP3 необходимо указать следующие данные:
- в разделе Входящие сообщения/Incoming mail (POP3) нужно указать адрес почтового сервера pop.yandex.ru, установить SSL-защиту и порт 995. Если ваша программа по каким-то причинам не поддерживает SSL-защиту соединения, вы можете указать порт 110 и подключаться без SSL
- в разделе Исходящие сообщения/Outgoing mail (SMTP) необходимо указать адрес сервера smtp.yandex.ru, и подключаться по безопасному соединению SSL через порт 465. В случае, если вы не можете воспользоваться безопасным соединением, вы можете подключиться к SMTP-серверу по портам 25 или 587
При настройке почтовых программ в качестве логина и пароля для доступа к почтовому серверу нужно указать ваши логин и пароль на Яндексе. В случае, если вы настраиваете доступ к ящику вида login@yandex.ru , логином является первая часть адреса — login. Если же вы пользуетесь Яндекс.Почтой для доменов, в качестве логина нужно указывать полный адрес почтового ящика.
Мы не рекомендуем использовать почтовый сервер вашего провайдера для отправки почты от вашего имени на Яндексе.
Если вы скачиваете почту при помощи почтового клиента по протоколу POP3, вы можете:
- Оставить все настройки по умолчанию. Тогда будут скачиваться письма только из папки Входящие.
- Настроить скачивание писем из любого набора папок, включая папку Спам или собственные папки. Выбрать папки для скачивания можно на странице «Настройки» — в разделе «Почтовые клиенты». Также вы можете установить настройку «При получении почты по POP3, письма в почтовом ящике Яндекс.Почты помечать как прочитанные», которая уже в веб-интерфейсе позволит понять, какие письма были забраны почтовым клиентом. При скачивании почты клиентами письма по умолчанию не помечаются как прочитанные.
О доступе в вашу почту через почтовые программы вы можете прочитать в следующих статьях:
История
IMAP был разработан Марком Криспином в 1986 году как протокол удаленного доступа к почтовому ящику, в отличие от широко используемого POP, протокола для простого получения содержимого почтового ящика.
Он прошел ряд итераций до текущей ВЕРСИИ 4rev1 (IMAP4), как подробно описано ниже:
Исходный IMAP
Первоначальный промежуточный протокол доступа к почте был реализован как клиент машины Xerox Lisp и сервер TOPS-20 .
Копий исходной временной спецификации протокола или его программного обеспечения не существует. Хотя некоторые из его команд и ответов были похожи на IMAP2, временный протокол не имел тегов команд / ответов, и поэтому его синтаксис был несовместим со всеми другими версиями IMAP.
С появлением MIME IMAP2 был расширен для поддержки структур тела MIME и добавления функций управления почтовыми ящиками (создание, удаление, переименование, загрузка сообщений), которые отсутствовали в IMAP2. Эта экспериментальная версия получила название IMAP2bis; его спецификация никогда не публиковалась в не-черновой форме. Интернет проект IMAP2bis был опубликован IMAP рабочей группы IETF в октябре 1993 года этот проект был основан на следующих более ранних спецификаций: неопубликованные IMAP2bis.TXT документ, RFC1176 и RFC1064 (IMAP2). В проекте IMAP2bis.TXT задокументировано состояние расширений IMAP2 по состоянию на декабрь 1992 г. Ранние версии Pi
ne были широко распространены с поддержкой IMAP2bis (Pine 4.00 и более поздние версии поддерживают IMAP4rev1).
IMAP4
Рабочая группа IMAP, сформированная в IETF в начале 1990-х, взяла на себя ответственность за дизайн IMAP2bis. Рабочая группа IMAP решила переименовать IMAP2 в IMAP4, чтобы избежать путаницы.
Сервер POP3
В Cyrus IMAP Server имеется POP3-сервер. Из-за ограничений в протоколе POP3, сервер может предоставить доступ только к
пользовательскому INBOX'у и в одну
единицу времени POP3-сервер может работать только с одним пользователем. Пока POP3-сервером открыт пользовательский INBOX, любые другие конкурирующие
IMAP-сессии будут неудачными.
Короче говоря — конкурирующие подключения(и к POP3 и к IMAP) в случае
использования POP3-сервера не поддерживаются.
Когда используется вход с Kerberos-аутентификацией, пользователи POP3-сервера будут иметь
идентификаторы «pop.host@realm
» вместо
imap.host@realm
, где
«
host
» первый компонент имени
хоста сервера, а «
realm
» облать Kerberos. Когда POP3-сервер запускается с ключем «-k«, он будет экспортировать протокол MIT
KPOP вместо обычного POP3.
The syslog facility
local6
-
CRIT — Критическая
ошибка требующая вмешательства администратора в работу сервера -
ERR —
I/O-ошибка, включая отказ в обновлении квоты. Сообщение syslog’а включает файл и Unix-ошибку(системную) -
WARNING — Срабатывания механизма защиты, таймауты клиентской
НЕактивности - NOTICE — Аутентификация, обе — удачная и неудачная
-
INFO —
Открытия ящиков, подавление двойной доставки
Сообщения и их атрибуты
IMAP работает только с сообщениями и не требует каких-либо пакетов со специальными заголовками.
Каждое сообщение имеет несколько связанных с ним атрибутов. Эти атрибуты могут быть определены индивидуально или совместно с другими атрибутами.
UID
Каждому сообщению ставится в соответствие 32-битный код, который при использовании совместно с уникальным идентификатором образует 64-битовую последовательность, гарантирующую однозначную идентификацию сообщения в почтовом ящике. Чем позже сообщение пришло, тем больше его UID.
UID ассоциируется с почтовым ящиком и посылается в виде кода uidvalidity отклика (ok) на фазе выбора почтового ящика. Если UID из предыдущей сессии по какой-то причине не может быть использован, UID должен быть инкрементирован.
UID сообщения не должно изменяться в пределах сессии, его не следует изменять и от сессии к сессии. Однако если невозможно сохранить UID сообщения в последующей сессии, каждая следующая сессия должна иметь новый уникальный код идентификатора, который должен быть больше, чем любой UID, использованный ранее.
Порядковый номер сообщения
Порядковый номер сообщения в почтовом ящике начинается с 1. Каждое сообщение, начиная со второго, имеет порядковый номер ровно на 1 больше, чем предшествующее ему.
В течение сессии допустимо изменение порядкового номера сообщения. Например, когда сообщение удаляется из почтового ящика, номера всех последующих сообщений изменяются.
Флаги сообщения
Этот атрибут представляет собой список из нуля или более именованных лексем, соотнесённых с данным сообщением. Флаг устанавливается путём его добавления к этому списку и обнуляется путём его удаления. В IMAP 4.1 существует два типа флагов. Флаг может быть постоянным или действующим только на время данной сессии.
Системным флагом является флаг, имя которого определено в спецификации протокола. Все системные флаги начинаются с символа .
В настоящее время определены следующие системные флаги:
— сообщение прочитано
— на сообщение отправлен ответ
— сообщение отмечено как «важное»
— сообщение отмечено как удаленное
— сообщение отмечено как черновик
— недавнее сообщение (впервые появилось в ящике в ходе текущей сессии)
Внутренние дата и время сообщения на сервере
Время и дата получения сообщения. В случае доставки сообщения посредством протокола SMTP — дата и время доставки конечному адресату. Для сообщений, доставленных командой копирования — внутренняя дата и время отправителя сообщения. При использовании команды — дата и время, заданные параметрами команды.
Взаимодействие клиента и сервера
Соединение IMAP 4.1 подразумевает установление связи между клиентом и сервером. Клиент посылает серверу команды, сервер клиенту — данные и уведомления о статусе выполнения запроса. Все сообщения, как клиента, так и сервера имеют форму строк, завершающихся специальной последовательностью.
Любая процедура начинается с команды клиента. Любая команда клиента начинается с префикса-идентификатора (обычно короткая буквенно-цифровая строка, например, , и т. д.), называемого меткой (tag). Для каждой команды клиент генерирует свою метку.
Возможны два случая, когда строка, отправленная клиентом, не представляет собой законченную команду. В первом — аргумент команды снабжается кодом, определяющим число октетов в строке. Во втором — аргументы команды требуют отклика со стороны сервера. В обоих случаях сервер посылает запрос продолжения команды, начинающийся с символа .
Клиент должен завершить отправку одной команды, прежде чем отправить другую.
Протокольный приемник сервера читает строку команды, пришедшей от клиента, осуществляет её разбор, выделяет параметры и передаёт серверу данные. По завершении команды сервер посылает отклик.
Данные, передаваемые сервером клиенту, а также статусные отклики, которые не указывают на завершение выполнения команды, имеют префикс и называются непомеченными откликами.
Данные могут быть отправлены сервером в ответ на команду клиента или по собственной инициативе. Формат данных не зависит от причины отправки.
Отклик указывает на удачное/неудачное выполнение операции. Он использует ту же метку, что и команда клиента, запустившая процедуру. Таким образом, если осуществляется более чем одна команда, метка сервера указывает на команду, вызвавшую данный отклик. Имеется три вида отклика завершения сервера: (успешное выполнение), (неудача), (протокольная ошибка, например, не узнана команда или зафиксирована синтаксическая ошибка).
Протокольный приемник клиента IMAP 4.1 читает строку отклика от сервера и предпринимает действия в соответствии с первым символом или .
Клиент должен быть готов принять любой отклик сервера в любое время. Данные сервера должны быть записаны так, чтобы клиент мог их непосредственно использовать, не посылая серверу уточняющих запросов.
Что такое виртуальный жесткий диск?
Solution 6. Flushing DNS might be useful
MP3TagEditor 2.08
Шаг 2. Настройте доступ по протоколу POP
Сначала настройте POP в Gmail
- Откройте Gmail на компьютере.
- В правом верхнем углу нажмите на значок «Настройки» Все настройки.
- Откройте вкладку Пересылка и POP/IMAP.
- В разделе «Доступ по протоколу POP» выберите Включить POP для всех писем или Включить POP для писем, полученных с этого момента.
- Нажмите Сохранить изменения внизу страницы.
Затем настройте свой почтовый клиент
Откройте клиент (например, Microsoft Outlook) и задайте следующие параметры:
Сервер входящей почты (POP) |
pop.gmail.com Требуется SSL: да Порт: 995 |
Сервер исходящей почты (SMTP) |
smtp.gmail.com Требуется SSL: да Требуется TLS: да (при наличии) Требуется аутентификация: да Порт для TLS/STARTTLS: 587 Если вы используете Gmail в организации или учебном заведении, за информацией об SMTP-конфигурации обращайтесь к своему системному администратору. |
Время ожидания сервера | Более 1 минуты (рекомендуется 5 минут) |
Полное или отображаемое имя | Ваше имя |
Учетная запись, имя пользователя или адрес электронной почты | Ваш адрес электронной почты |
Пароль | Ваш пароль Gmail |
Имена почтовых ящиков
netnews
Не
ASCII символы и метасимволы shell не допускаются.
По желанию, вы можете использовать .
Стандартное (Внутреннее) именование
Все персональные ящики пользователя «bovik» начинаются
со строки «user.bovik.«. Например, если пользователь «bovik» имеет ящик «work«, то этот ящик будет иметь
имя «user.bovik.work«. Для пользователя «bovik «,
однако, префикс «user.bovik.» будет виден как «INBOX.«. Т.е. «user.bovik.work» будет выглядеть
как «INBOX.work«. Если этого ящика разрешает другим пользователям просматривать этот ящик, то
они будут видеть его как «user.bovik.work«.
Почтовый ящик «user.bovik» — это нечто, где
пользователь «bovik » получает новую почту и это
нечто пользователь «bovik» видит,
как «INBOX«. В этом документе ящик
«user.bovik » есть INBOX для пользователя
«bovik«.
Администраторы создают и удаляют пользователей посредствам создания и уделения
пользовательских INBOX-ов. Если пользователь имеет INBOX, значит ему разрешено подписываться на этот ящик. Только пользователи
без точек в своем имени могут иметь INBOX. (Пользователи с точками в имени смогут логиниться, но не смогут получать почту.
Но если Вы используете в качестве разделителя UNIX-иерархический разделитель(как правило ‘/’), то любой пользователь
может именть точку в имени и все будет работать.)
Когда админ удаляет пользовательский INBOX, то
все персональные почтовые ящики этого пользователя удаляются..
В контексте, где разрешены относительные имена ящиков, именование
осуществляется следующим образом:
- Имена, которые НЕ начинаются с «.» являются абсолютными.
- Имена которые начинаются с «.» являются
относительными.
cmu.comp.infosystems.wwwcomp.infosystems.www.comp.infosystems.wwwcmu.comp.infosystems.www
Альтернативное именование
Cyrus IMAP Server может использовать
которое позволяет пользователям видеть их личные ящики
на одном уровне с INBOX
. При этом может оказаться, что
несколько пользователей используют одно и тоже имя ящика (2 разных пользователя могут иметь ящик
«work»), но внутренне представление всеравно остается вида: user.name.work.
Т.е. иерархия папок сохраняется, но пользователи видят все это, как будто
никакой иерархиинет и все папки всех пользователей лежат в корне сервера. -Прим.
пер.
Как пользоваться
Подробнее остановимся на процедуре загрузки и использовании программного обеспечения.
Загрузка и установка
Чтобы установить компонент, запустите скачанный файл и следуйте инструкции:
- Ознакомьтесь с информацией на начальном экране и нажмите Install.
- Дождитесь окончания распаковки библиотек.
- Закройте финальное окно. Перезапустите компьютер.
Инструкция по работе
После того, как вы установили данный пакет, можно приступать к работе с приложениями и играми, которые ранее выдавали ошибку или просто отказывались корректно запускаться. От рядового пользователя требуется лишь установка софта на компьютер – дальнейшие операции система совершает автоматически. Если вы хотите повлиять на работу Java, то откройте специальную Java Control Panel через меню «Пуск». В данном окне представлен ряд полезных настроек и пунктов:
- информация о текущей версии Java, установленной на компьютере;
- ручная настройка параметров прокси-сервера;
- включение и отключение Java для браузера;
- менеджер управления установленными версиями софта;
- управление уровнем безопасности (высокая или очень высокая степень защиты);
- расширенные параметры.
Выборка данных
После успешного подключения, мы можем выполнить запрос для получения потовых сообщений из сервера.
Для этого мы будем использовать метод
searchMailBox(string $criteria) который по сути является оберткой метода
Тут важно понять что аргумент $criteria является неким критерием поиска нужных нам сообщений, сам метод возвращает идентификаторы элементов которые в последствии нам пригодятся для получения детальной информации почтового сообщения.
$mailsIds = $mailbox->searchMailBox('ALL');
Как Вы уже догадались тут мы получаем все сообщения.
А теперь давайте попробуем разобраться и с другими не менее важными критериями поиска:
//Все сообщения за 3 дня. $mailsIds = $mailbox->searchMailBox('SINCE "'.date('d-M-Y',strtotime("-3 day")).'"'); //Непрочитанные сообщения за 3 дня. $mailsIds = $mailbox->searchMailBox('UNSEEN SINCE "'.date('d-M-Y',strtotime("-3 day")).'"'); //Поиск сообщений с таким соответствием в заголовке TEXT. $mailsIds = $mailbox->searchMailBox('TEXT "Новостная рассылка"'); //Поиск сообщений с таким соответствием в заголовке BODY. $mailsIds = $mailbox->searchMailBox('BODY "Информационное сообщение"'); //Поиск по емейлу отправителя. $mailsIds = $mailbox->searchMailBox('FROM ""'); //Получить сообщения по заголовку SUBJECT $mailsIds = $mailbox->searchMailBox('SUBJECT "Выпущены обновления для вашего телефона"');
Данный пример хорошо отражает основы использование критериев поиска.
Цель разработки протокола IMAP
Протокол IMAP представляет собой альтернативу POP с зачаточными способностями по отправке.
Первая версия протокола имела ряд недостатков, и наиболее серьёзный из них — отсутствие возможностей по управлению перемещением и хранением сообщений на сервере. В POP сообщения загружаются с почтового сервера все сразу, после чего они с сервера удаляются, то есть отсутствует возможность выбирать сообщения для получения.
Для решения проблем, связанных с этой особенностью POP, в 1986 году Марк Криспин (англ. Mark Crispin), работавший тогда в Стэнфордском университете, создал новый протокол получения почты с сервера.
Новый протокол предоставил пользователям возможность получения электронной почты в различных местах из одного почтового ящика. Пользователю предоставляется возможность управлять сообщениями в его почтовом ящике и дополнительные функции по обслуживанию почтовых ящиков на сервере.
В дальнейшем протокол POP был доработан, в POP3 (POP версии 3) есть возможность получать с сервера избранные сообщения и оставлять избранные сообщения на сервере. В последних версиях между IMAP и POP основное отличие для пользователя — IMAP4 может обращаться к письмам в разных почтовых папках на сервере и перемещать письма между ними, а POP3 обращается к письмам на сервере по номерам в линейном списке (т. е. работает только с одной почтовой папкой).
- Версии протокола IMAP
- IMAP: в реализован на DEC, спецификация отсутствует