Проверка почты по imap что это такое

от admin

Для чего нужен протокол IMAP и как его использовать в Gmail

Электронная почта — широко используемое средство связи, и для этого необходим ряд протоколов. В этой статье мы поговорим о том, что Протокол IMAP есть, для чего он нужен и как мы можем активировать его в Gmail e-mail. Мы собираемся показать пользователям самое главное о его реальной работе.

Что такое протокол IMAP?

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

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

Он был создан в 1986 году и являлся заменитель протокола POP . С тех пор появились различные версии, которые улучшили протокол и предоставили пользователям новые функции. Первым из них был IMAP 2, который появился всего пару лет спустя и уже был публично распространен. Позже появились другие версии, такие как IMAP 3, IMAP2 bis или IMAP 4.

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

Какова цель IMAP

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

Доступ к электронной почте с любого компьютера

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

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

Поделитесь почтовым ящиком с третьими лицами

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

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

Персональные данные для коррео

Лучше управлять электронной почтой

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

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

Освободите место на устройствах

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

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

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

Как использовать IMAP в Gmail

Мы объяснили, что такое протокол IMAP, как он работает и почему он важен. Теперь мы поговорим о том, как мы можем использовать его в Gmail провайдер. Несомненно, сегодня он наиболее часто используется в Испании, и у него есть такая возможность. Для этого его нужно будет правильно настроить в настройках.

Первое, что нам нужно сделать, чтобы использовать IMAP в Gmail, — это активировать его, если это не так. Для этого мы должны войти в систему с нашей учетной записью на компьютере, мы переходим в Настройки, которые появляются в правом верхнем углу, видим все настройки, и как только там мы нажимаем на Пересылка и почта POP / IMAP меню.

Habilitar IMAP в Gmail

По умолчанию он отключен. Следовательно, что нам нужно сделать, это спуститься туда, где написано IMAP Access, и нажать на опцию Enable. Как только это будет сделано, нам останется только нажать Сохранить изменения и у нас уже будет включен IMAP в нашей учетной записи Gmail.

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

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

Что такое IMAP и SMTP?

IMAP использует порты 143 и 993 (SSL/TLS) по умолчанию. SMTP — это простой протокол передачи почты, который используется для передачи писем. Он устанавливает связь с сервером получателем и отправляет письмо, в противном случае сервер вернет отправителю отчет об ошибке отправки сообщения.

Как узнать свой IMAP?

Поиск параметров сервера почтовых ящиков Exchange:

  • Войдите в свою учетную запись, используя Outlook Web App.
  • В Outlook Web App на панели инструментов выберите пункты «Параметры»
  • Имена серверов POP3, IMAP4 и SMTP, а также другие параметры, которые могут потребоваться, находятся на странице параметров POP и IMAP.

Как настроить почту IMAP?

Шаг 1. Включите IMAP-доступ:

  • Откройте Gmail на компьютере.
  • В правом верхнем углу нажмите на значок «Настройки» Все настройки.
  • Откройте вкладку Пересылка и POP/IMAP.
  • В разделе «Доступ по протоколу IMAP» выберите Включить IMAP.
  • Нажмите Сохранить изменения.

Чем отличается SMTP от IMAP?

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

Что писать в сервер IMAP?

Во вкладке IMAP заполните поля:

  • имя узла ― mail.hosting.reg.ru (сервер исходящей почты и входящей),
  • имя пользователя ― ваш почтовый ящик полностью,
  • пароль ― пароль от почтового ящика.

Что такое SMTP пароль пользователя?

SMTP пароль — пароль от почтового ящика. SMTP номер порта- 465 и также нужно указать «ssl» в пункте «SMTP префикс для соединений». SMTP пользователь- почтовый ящик, с которого будет происходить отправка.

Что нужно писать в сервер входящей почты?

В поле Сервер входящей почты введите имя сервера строчными буквами. Имя может иметь форму «mail.contoso.com». Имя также может иметь форму IP-адреса: 172.12.0.0. В поле Сервер исходящей почты (SMTP) введите имя сервера исходящей почты.

Какие есть SMTP сервера?

Все SMTP-серверы условно разделяют на два типа:

  • Обычные, предназначенные для отправки личной почты. Такие серверы чаще всего принадлежат провайдерам интернет-сетей, веб-хостингов либо электронной почты.
  • Выделенные серверы ретрансляции SMTP, применяемые для массовых рассылок и отправки транзакционных писем.

В чем разница между POP3 и IMAP?

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

Для чего используется протокол SMTP?

SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

Для чего нужен IMAP?

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

Для чего нужен протокол IMAP?

Протокол IMAP (Internet Messaging Access Protocol — Протокол доступа к Интернет-сообщениям) Для учетных записей IMAP сообщения хранятся на удаленном сервере. Пользователи могут входить посредством нескольких почтовых клиентов на компьютерах или мобильных устройствах и читать одни и те же сообщения.

Что такое подключение IMAP?

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

Как настроить сервер SMTP?

Инструкция к настройке SMTP сервера:

  • Введите ваш email адрес в поле Email адрес.
  • Введите имя сервера исходящей почты в поле Сервер.
  • Укажите порт.
  • Введите имя вашей учетной записи в поле Пользователь.
  • Введите ваш пароль в поле Пароль.
  • Активируйте опцию SSL если серверу необходимо безопасное подключение.

Как сделать свой SMTP сервер?

SMTP сервер на Windows: настройка и установка:

  • Выберете «Установка ролей и компонентов» и нажмите «Далее».
  • Выберете нужный сервер из пула.
  • На следующем шаге выберете роль «Веб-сервер (IIS)».
  • Далее в списке компонентов выберете «SMTP-сервер».
  • На следующих шагах примите настройки по умолчанию и выполните установку.

Как узнать порт SMTP сервера?

Пример проверки для системы Windows:

  • Нажмите «Пуск», «Выполнить», наберите cmd.exe, нажмите ввод.
  • Наберите команду telnet <имя сервера> <порт>, например, telnet smtp-15.1gb.ru 25. (проверка порта 25 — SMTP, отправка почты)

Как включить службу IMAP SMTP на телефоне?

Чтобы включить эту службу, на начальной странице Sina Mail нажмите Settings (Параметры) > More settings (Дополнительные параметры) > User‑end POP/IMAP/SMT (PPOP/IMAP/SMTP со стороны пользователя), а затем включите POP3/SMTP service (Служба POP3/SMTP).

Как настроить IMAP на телефоне?

Выберите Настройки > Добавить учетную запись. Введите свой полный адрес электронной почты и пароль. Нажмите Настройка вручную. Выберите учетную запись IMAP или учетную запись POP3, чтобы синхронизировать только электронную почту.

Какой порт у IMAP?

IMAP (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте. MUA (Outlook Express, Opera, Mozilla Thunderbird, The Bat!, Claws Mail, mutt и др.) Базируется на транспортном протоколе TCP и использует порт 143, а IMAPS (IMAP поверх SSL) — порт 993.

Как узнать SMTP сервер Gmail?

Детали SMTP сервера Google вы можете найти ниже:

  • SMTP Сервер: smtp.gmail.com.
  • SMTP Имя пользователя: ваше полное имя пользователя Gmail (электронный адрес), к примеру, vashemail@gmail.com.
  • SMTP Пароль: пароль от вашего Gmail.
  • SMTP Порт: 465.
  • TLS/SSL: требуется.

Что такое IMAP Gmail com?

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

Как включить вход по IMAP mail?

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

  • Запустите приложение «Эл.
  • Если вы уже пользуетесь какой-либо почтой в этом приложении, перейдите в настройки приложения и выберите «Добавить аккаунт».
  • Если на экране показан список почтовых сервисов, нажмите «Другое».
  • Нажмите «Вручную».
  • Выберите IMAP.

Как настроить почту на iphone?

Перейдите в раздел «Настройки» > «Почта», затем нажмите «Учетные записи». Нажмите «Новая учетная запись» и выберите почтовый сервис. Введите адрес электронной почты и пароль. Если отображается сообщение «Далее», нажмите «Далее» и дождитесь, пока приложение «Почта» подтвердит вашу учетную запись.

Какие порты нужны для почтового сервера?

Для работы с почтовым сервером доступны следующие порты:

  • IMAP: шифрованное подключение SSL — 993, без шифрования — 143.
  • SMTP: шифрованное подключение SSL — 465, без шифрования — 587.
  • POP3: шифрованное подключение SSL — 995, без шифрования — 110.

Что такое сервер IMAP на телефоне?

IMAP (Internet Message Access Protocol) — предоставляет доступ к учетным записям электронной почты на сервере, где их можно сохранять без скачивания на устройство (например компьютер или телефон).

Какой IMAP У mail ru?

Введите параметры для сервера входящей почты: Сервер IMAP — imap.mail.ru. Тип защиты — SSL/TLS. Порт — 993.

Что такое личный аккаунт IMAP?

Протокол IMAP (Internet Messaging Access Protocol — Протокол доступа к Интернет-сообщениям) Для учетных записей IMAP сообщения хранятся на удаленном сервере. Пользователи могут входить посредством нескольких почтовых клиентов на компьютерах или мобильных устройствах и читать одни и те же сообщения.

Диагностика почтовых протоколов

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

Материал разбит следующим образом:

1. Введение

В сети достаточно материалов по отдельным пунктам, но все разбросано по разным местам и, когда возникает необходимость выполнить ту или иную операцию, приходится по разным ресурсам вспоминать нюансы авторизации, способы быстрой кодировки в base64, ключи к openssl и tshark. Здесь все собрано вместе, а также добавлена информация о дешифровке SSL/TLS трафика.

Обозначения

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

# — приглашение в рутовом шелле, указанная после него команда выполняется с правами администратора

## — строка с комментарием

Запрос клиента в почтовых сессиях выделен жирным шрифтом.

Почтовые порты

Основные порты, использующиеся в работе почтовых серверов по RFC (документы, регламентирующие работу сети интернет и ее основных компонентов):

  • 25/tcp SMTP (стандартный порт)
  • 465/tcp SMTPS (устаревший)
  • 587/tcp submission (порт для обслуживания клиентов)
  • 110/tcp POP3 (стандартный порт)
  • 995/tcp POP3S (порт с предварительной установкой SSL/TLS соединения)
  • 143/tcp IMAP (стандартный порт)
  • 993/tcp IMAPS (порт с предварительной установкой SSL/TLS соединения)

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

Используемые и рекомендуемые утилиты

В статье используются telnet, openssl, tshark. Для наглядности взаимодействия сервера и клиента, использования команд протокола. На регулярной основе и для автоматизации каких-то процессов можно использовать утилиты, которые скрывают от нас все эти детали, но которые проще включаются в скрипты. Из таких утилит могу порекомендовать скрипт на perl smtp-cli (http://www.logix.cz/michal/devel/smtp-cli/), обладающий широкой функциональностью, в том числе и возможностью SMTP авторизации. Также рекомендую утилиту imtest из состава cyrus-clients, которой можно протестировать IMAP протокол. smtp-sink, утилиту из состава postfix, которая эмулирует почтовый сервер. С ее помощью можно отлаживать работу почтового клиента в том случае, если нет ни доступа к существующим почтовым серверам, ни возможности включения в настройках клиента подробного журналирования.

При помощи nmap можно быстро проверить, доступны ли порты снаружи, то есть, слушаются ли они программами и не закрыты ли при этом файерволом:

По этому выводу видно, что на сервере доступны SMTP/IMAP порты, но недоступны порты для
POP3 протокола.

Читать:
Как сделать бота для игры на python

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

В этом примере в качестве SMTP сервера используется postfix и dovecot в качестве IMAP. POP3 в списке отсутствует, так как в настройках dovecot этот протокол отключен, как неиспользуемый.

В современных дистрибутивах пакет net-tools уже часто не ставится, считается устаревшим. В качестве замены испольуется утилита ss из состава iproute. Это более узко заточенная и в свой области, вероятно, более функциональная утилита с возможностью настройки фильтров как в tcpdump/tshark. Но мне, например, не нравится, как у нее отформатирован вывод информации. Чтобы чуть это исправить, можно использовать sed:

*) для удобства использования можно поместить следующую bash функцию в

2. Примеры сессий

Здесь приведены примеры сессий по SMTP/IMAP/POP3 протоколам. Для соединения используется клиент телнет, который либо в системе установлен по-умолчанию, либо устанавливается из репозиториев:

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

IMAP расшифровывается, как Internet Message Access Protocol это протокол доступа к электронной почте. IMAP и протокол РОР3 возникли в одно тоже время .

p, blockquote 1,0,0,0,0 —>

p, blockquote 2,0,0,0,0 —>

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

p, blockquote 3,0,0,0,0 —>

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

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

p, blockquote 4,0,0,0,0 —>

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

p, blockquote 5,0,0,0,0 —>

Протокол IMAP

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

p, blockquote 6,0,0,0,0 —>

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

p, blockquote 7,0,0,0,0 —>

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

p, blockquote 8,0,0,0,0 —>

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

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

p, blockquote 9,0,0,0,0 —>

Место протокола imap в стеке tcp

p, blockquote 10,0,0,0,0 —>

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

p, blockquote 11,0,0,0,0 —>

Папки (mailbox)

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

p, blockquote 12,0,0,0,0 —>

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

p, blockquote 13,0,0,0,0 —>

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

p, blockquote 14,0,0,0,0 —>

Флаги

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

p, blockquote 15,0,0,0,0 —>

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

p, blockquote 16,0,0,0,0 —>

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

  • \Seen – означает, что сообщение было просмотрено.
  • \Answered – на сообщение был отправлен ответ
  • \Flagged – у сообщения повышенная важность или на него нужно ответь, как можно быстрее
  • \Draft – письмо не закончено и является черновиком
  • \Deleted – используется для пометки сообщения на удаление
  • \Recent – сообщение новое, при предыдущих подключениях клиента того сообщения не было.

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

p, blockquote 18,0,0,0,0 —>

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

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

  1. Клиент не аутентифицирован (Not Authenticated) – клиент только что подключился к серверу IMAP и ему необходимо ввести свой логин и пароль, либо пройти аутентификацию каким-либо другим способом.
  2. Клиент аутентифицирован (Authenticated) – это означает, что клиент прошел успешную аутентификацию, подтвердил что он именно тот, за кого себя выдает, но пока не выбрал папку с которой он будет работать. При выборе папки происходит переход в следующее состояние.
  3. Папка выбрана (Selected) – после этого можно читать сообщения, которое находится в этой папке, и выполнять с ними требуемые действия.
  4. Выход (Logout) – разрыв соединения.

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

p, blockquote 20,0,0,0,0 —>

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

p, blockquote 21,0,0,0,0 —>

Ответы IMAP

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

p, blockquote 22,0,1,0,0 —>

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

  • OK- означает, что команда выполнена успешна;
  • NO – при выполнении команды произошла ошибка;
  • BAD — означает, что клиент запустил неправильную команду или указал неправильные или недостаточные аргументы.

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

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

p, blockquote 24,0,0,0,0 —>

пример кода imap

p, blockquote 25,0,0,0,0 —>

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

p, blockquote 26,0,0,0,0 —>

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

p, blockquote 27,0,0,0,0 —>

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

p, blockquote 28,0,0,0,0 —>

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

p, blockquote 29,0,0,0,0 —>

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

p, blockquote 30,0,0,0,0 —>

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

p, blockquote 31,0,0,0,0 —>

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

p, blockquote 32,0,0,0,0 —>

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

p, blockquote 33,0,0,0,0 —>

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

p, blockquote 34,0,0,0,0 —>

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

p, blockquote 35,0,0,0,0 —>

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

p, blockquote 36,0,0,0,0 —>

Выбор папки

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

p, blockquote 37,0,0,0,0 —>

выбор папки в протоколе imap

p, blockquote 38,0,0,0,0 —>

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

p, blockquote 39,0,0,0,0 —>

* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded Junk NonJunk) // сервер показывает нам возможные флаги, кроме знакомых нам системных флагов, есть флаг $Forwarded, который говорит, что сообщение кому-то переслали. А флаги Junk NonJunk сообщения является спамом или не является.

p, blockquote 40,0,0,0,0 —>

p, blockquote 41,0,0,0,0 —>

p, blockquote 42,0,0,0,0 —>

p, blockquote 43,0,0,0,0 —>

* OK [UIDVALIDITY 1340776425]

p, blockquote 44,1,0,0,0 —>

* OK [UNIDNEXT 29048]

p, blockquote 45,0,0,0,0 —>

A0003 OK [READ-WRITE] Completed

p, blockquote 46,0,0,0,0 —>

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

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

p, blockquote 47,0,0,0,0 —>

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

p, blockquote 48,0,0,0,0 —>

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

p, blockquote 49,0,0,0,0 —>

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

p, blockquote 50,0,0,0,0 —>

* 2 FETCH (FLAGS (\Seen))

p, blockquote 51,0,0,0,0 —>

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

p, blockquote 52,0,0,0,0 —>

p, blockquote 53,0,0,0,0 —>

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

p, blockquote 54,0,0,0,0 —>

* 178 FETCH (FLAGS (\Recent))

p, blockquote 55,0,0,0,0 —>

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

p, blockquote 56,0,0,0,0 —>

* 180 FETCH (FLAGS (\Recent))

p, blockquote 57,0,0,0,0 —>

A0004 OK Completed (0.00 sec)

p, blockquote 58,0,0,0,0 —>

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

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

p, blockquote 59,0,0,0,0 —>

Чтение письма imap

p, blockquote 60,0,0,0,0 —>

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

p, blockquote 61,0,0,0,0 —>

p, blockquote 62,0,0,0,0 —>

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

p, blockquote 63,0,0,0,0 —>

p, blockquote 64,0,0,0,0 —>

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

p, blockquote 65,0,0,0,0 —>

А0005 OK Completed (0.000 sec)

p, blockquote 66,0,0,1,0 —>

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

p, blockquote 67,0,0,0,0 —>

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

p, blockquote 68,0,0,0,0 —>

A0006 OK Completed

p, blockquote 69,0,0,0,0 —>

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

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

p, blockquote 70,0,0,0,0 —>

Удаление писем в imap

p, blockquote 71,0,0,0,0 —>

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

p, blockquote 72,0,0,0,0 —>

p, blockquote 73,0,0,0,0 —>

A0007 OK Completed

p, blockquote 74,0,0,0,0 —>

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

p, blockquote 75,0,0,0,0 —>

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

p, blockquote 76,0,0,0,0 —>

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

p, blockquote 77,0,0,0,0 —>

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

p, blockquote 78,0,0,0,0 —>

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

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

  • команда «Работа с папками» которая позволяет создавать новые папки, удалять их, переименовывать, получать статус.

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

  • команда COPY которая является частью стандарта протокола IMAP4, которая позволяет копировать письмо из одной папки в другую.
  • и новая команда MOVE, которая является расширением стандарта IMAP принятая в 2013 году, позволяет перемещать сообщения из одной папки в другую.

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

p, blockquote 81,0,0,0,0 —>

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

p, blockquote 82,0,0,0,0 —>

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

p, blockquote 83,0,0,0,0 —>

p, blockquote 84,0,0,0,0 —>

Заключение

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

p, blockquote 85,0,0,0,0 —>

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

p, blockquote 86,0,0,0,0 —>

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

p, blockquote 87,0,0,0,0 —> p, blockquote 88,0,0,0,1 —>

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

Related Posts