| Версия 5.2
Введение
Установка
Администрирование
Сеть
Объекты
Почта
Сигналы
Доступ
Услуги
Справочник
Кластеры
Программы
Разное
Лицензирование
Веб Почта
Pronto!
PBX
Обзор | POP | IMAP | WebUser | XIMSS | MAPI | AirSync | CalDAV | FTP | TFTP | ACAP
# IMAP Модуль Интернет Протокол Доступа к Сообщениям (IMAP) Конфигурирование IMAP Модуля Одновременный Доступ Список Прав Доступа Чужие (Общие) и Публичные Папки Аутентификация Пользователя Непочтовые Папки Предупреждения Направления на Аутентификацию Мониторинг активности IMAP Подробности реализации IMAP Дополнительные Расширения IMAP В IMAP модуле CommuniGate Pro реализован IMAP сервер. IMAP сервера позволяют клиентским приложениям (почтовым программам) получать сообщения из папок пользователя, используя Интернет протокол IMAP4rev1 (RFC2060) через TCP/IP сети. IMAP протокол позволяет клиентским приложениям создавать дополнительные папки пользователя, передвигать сообщения между папками, осуществлять в папках поиск, отмечать сообщения в папках, загружать MIME-структуру хранимых сообщений и загружать отдельные MIME-части сообщений, хранимых в папках пользователя. IMAP модуль CommuniGate Pro поддерживает как незашифрованные, так и безопасные (SSL/TLS) соединения.

## Интернет Протокол Доступа к Сообщениям (IMAP)

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

IMAP Модуль CommuniGate Pro поддерживает различные Интернет стандарты (RFC), и имеет множество дополнительных уникальных возможностей.

## Конфигурирование IMAP Модуля

Для того, что бы настроить параметры IMAP модуля, используйте Веб Интерфейс Администратора. Откройте страницу Доступ в разделе Установки:

Обработка
Уровень Журнала: |  | Каналы: |  | Приёмник
| Send 'Running' every: |

Используйте эту настройку для того, что бы указать, какую информацию IMAP модуль должен сохранять в Журнале работы Сервера. Обычно используется уровень `Основные` (отчёты о передаче сообщений) или уровень `Проблемы` (передача сообщений и не фатальные ошибки). В случае, если в работе IMAP модуля возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня `Подробности` или `Всё`: в этом случае в Журнал работы Сервера будет также записываться более подробная информация о работе модуля на уровне протокола или на уровне ссылок. Когда проблема решена, верните настройку Уровень Журнала в её обычное значение, иначе Системный Журнал будет очень быстро увеличивать свой размер.

Записи, помещённые IMAP модулем в Журнал работы Сервера, имеют пометку `IMAP`.

Когда вы указываете ненулевое значение в настройке `Максимальное число Каналов`, IMAP модуль создаёт так называемый "Приёмник". Модуль начинает принимать все IMAP соединения, которые устанавливают клиенты для того, что бы получать почту с вашего Сервера. Эта настройка используется для того, что бы ограничить число одновременных соединений, которое может принимать IMAP модуль. Если открыто предельное число соединений, то модуль будет отказывать в приёме новых соединений. В этом случае почтовые клиенты должны попытаться соединиться позднее.

По умолчанию, Приёмник IMAP модуля принимает незашифрованные соединения на TCP порт 143 и безопасные соединения на TCP порт 993. Нажмите на ссылку Приёмник для того, что бы настроить порт Приёмника IMAP.

IMAP модуль поддерживает команду STARTTLS, которая позволяет почтовому клиенту устанавливать соединение в незащищённом режиме и затем переводить его в режим безопасного соединения.

`Send 'Running' every`
  Если эта опция не установлена в значение `Никогда`, то IMAP модуль будет следить за длительностью выполнения операций APPEND, COPY и SEARCH. Если выполнение любой из этих операций превышает указанный здесь период времени, то модуль отправляет клиентскому приложению "непомеченный" ответ. Эта возможность может использоваться для того, что бы предотвратить возникновение ситуации тайам-аута у клиентского приложения; также она помогает при работе в конфигурациях с различными NAT-устройствами, которые склонны закрывать соединение, если оно некоторое время неактивно.

## Одновременный Доступ

В отличие от множества других IMAP серверов, "блокирующих" открытые папки, IMAP модуль Сервера CommuniGate Pro спроектирован таким образом, что бы обеспечивать одновременный доступ к папке неограниченного числа клиентов.

IMAP модуль использует Менеджер Папок CommuniGate Pro, что позволяет обеспечить одновременный доступ к Папкам для всех типов поддерживаемых протоколов и клиентов. Дополнительную информацию смотрите в разделе Папки.

## Список Прав Доступа

IMAP модуль поддерживает RFC2086 (ACL расширение IMAP4). Это расширение протокола позволяет IMAP пользователям предоставлять доступ к своим папкам другим пользователям.

Дополнительную информацию о Списках Прав Доступа Папки (ACL) смотрите в разделе Папки.

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

## Чужие (Общие) и Публичные Папки

CommuniGate Pro позволяет пользователям получать доступ к папкам других пользователей. Дополнительную информацию смотрите в разделе Папки.

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

Используя различных IMAP клиентов или Веб Интерфейс Пользователя, пользователь может добавить имя чужой папки (как, например `~sales/processed` или `~public/news/company`) в свой список подписки. Это приведёт к тому, что IMAP клиенты будут показывать чужую папку наряду с обычными папками пользователя и пользователь сможет работать с этой чужой папкой.

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

## Аутентификация Пользователя

IMAP модуль позволяет пользователям использовать все Методы Аутентификации, поддерживаемые Сервером CommuniGate Pro.

Если опция Объявлять об небезопасных методах выключена, и соединение не зашифровано с помощью SSL/TLS, то Сервер добавляет ключевое слово LOGINDISABLED в список поддерживаемых возможностей аутентификации.

## Непочтовые Папки

IMAP Модуль CommuniGate Pro обеспечивает доступ к папкам всех Классов (Календарь, Контакты и т.д.). Некоторые клиенты и/или пользователи могут быть поставлены в затруднительное положение, если они сталкиваются с Непочтовыми Папками.

Эти модули включают Непочтовые Папки в ответ IMAP команды `LIST`, если:

- Пользователь включил настройку Не-Почтовые Папки видны в IMAP, или
- команда IMAP `LIST` имеет расширение `CLASS` , или
- была выполнена команда IMAP `ENABLE EXTENSIONS`

## Предупреждения

IMAP Модуль CommuniGate Pro проверяет наличие сообщений с предупреждениями, отправленных аутентифицированному Пользователю. Предупреждающие сообщения передаются клиентской почтовой программе через стандартный код ответа IMAP `[ALERT]`.

IMAP Модуль CommuniGate Pro проверяет наличие предупреждений сразу после аутентификации пользователя и может обнаруживать новые предупреждения и отсылать их пользователю в любое время в течении IMAP сессии.

## Направления на Аутентификацию

IMAP Модуль поддерживает RFC2221 (Направления на Аутентификацию).
Как было объяснено в разделе Доступ, все адреса пользователей, заданные в клиентских почтовых программах, обрабатываются через Маршрутизатор.
Если имя пользователя перенаправляется на внешний Интернет адрес (обслуживаемый SMTP модулем), то IMAP модуль возвращает отрицательный ответ и передаёт направление на аутентификацию. Если IMAP клиент поддерживает направления на аутентификацию, то он автоматически переключится на новый адрес.

Пример:
  Пользователь `j.smith` перешёл с вашего сервера на сервер `othercompany.com` как пользователь `John`. Для того, что бы перенаправлять всю почту пользователя, вы создаёте запись псевдонима в таблице Маршрутизатора:
  `<j.smith> = John@othercompany.com`
  Теперь, если пользователь попытается зайти на ваш сервер как j.smith, то сервер будет отвергать это имя пользователя, но при этому будет выдавать направление на аутентификацию:
  `1234 NO [REFERRAL IMAP://John;AUTH=*@othercompany.com/] account has been moved to a remote system`
  Если клиентская почтовая программа поддерживает направления на аутентификацию, то она автоматически попытается соединится с сервером othercompany.com как пользователь John.

## Мониторинг активности IMAP

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

|  | Показано 3 из 3

ID | Сетевой Адрес | Пользователь | Подсоединён | Состояние | Обрабатывает
--- | --- | --- | --- | --- | ---
9786 | [216.200.213.116] | user1@domain2.dom | 3 мин | selecting a mailbox | 2 сек
9794 | [216.200.213.115] | user2@domain1.dom | 34 сек | Connected to mailbox |
9803 | [216.200.213.115] |  | 2 сек | Authenticating |

`ID`
  Это поле содержит числовой идентификационный номер IMAP сессии. В Журнале CommuniGate Pro эта сессия отмечается как `IMAP-nnnnn`, где nnnnn - это идентификационный номер сессии.
`Адрес`
  Это поле содержит IP адрес присоединившегося клиента.
`Пользователь`
  Это поле содержит имя Пользователя (после успешной аутентификации).
`Подсоединён`
  Это поле содержит время соединения (время, в течении которого открыта эта TCP/IP сессия.
`Состояние`
  Это поле содержит или имя текущей операции, или, если никакой операции не производится, текущее состояние сессии (Authenticating, Selected и т.д.).
`Обрабатывает`
  Если есть какая-нибудь активная IMAP операция, то это поле содержит время, прошедшее с момента начала операции.

Если IMAP соединение используется для MAPI сессии, то это строка отображается на зеленом фоне.

Статистика активности IMAP доступна через SNMP агент CommuniGate Pro.

## Подробности реализации IMAP

В IMAP Модуле CommuniGate Pro реализовано множество расширений протокола IMAP. Реализация некоторых из этих расширений в CommuniGate Pro имеет свои особенности.

`QUOTA`
  Каждый пользователь имеет свою Корневую Квоту право доступа.
`NAMESPACE`
  Стандартный префикс "имени пользователя" в CommuniGate Pro соответствующий Домен.

`UNSELECT`
  Эта команда IMAP эквивалентна команде `CLOSE`, но она не удаляет никакие сообщения, отмеченные как `\Deleted`

## Дополнительные Расширения IMAP

В IMAP модуле CommuniGate Pro реализованы также несколько расширений, не являющихся частью IMAP стандарта и не включённые в существующие стандарты Расширения IMAP.

`UNSELECT`
  Эта команда IMAP эквивалентна команде `CLOSE`, но она не удаляет никакие сообщения, отмеченные как `\Deleted`

`COPY`
  После имени требуемой папки может может быть указан параметр `ENCRYPTED certificateData`, где certificateData либо PKI Сертификат в кодировке base64, либо символ звёздочка (`*`), ссылающийся на личный S/MIME Сертификат аутентифицированного пользователя.
  Копируемые сообщения являются S/MIME-зашифрованными при помощи указанного сертификата.
`MOVE`, `UID MOVE`
  Эти команды IMAP эквивалентны командам `COPY`, но если сообщения были скопированы успешно, то они будут удалены. Если сообщения передвигались между папками одного и того же Пользователя, то Квота хранения не проверяется.
`STATUS`
  Команда `STATUS` может использовать следующие дополнительные имена элементов данных:
  `INTERNALSIZE`
    Элемент данных, включаемый в ответ - число. Это число указывает размер папки (в том виде, как она хранится на сервере). Этот размер близок, но не обязательно совпадает с суммой значений атрибута RFC822.SIZE для всех сообщений, хранящихся в папке.
  `OLDEST`
    Элемент данных, включенных в ответ - строка типа `date_time`. Она указывает INTERNALDATE самого старого сообщения в папке. Если в папке нет сообщений, этот элемент данных в ответ не включается.
  `UNSEENMEDIA`
    Элемент данных, включаемый в ответ - число сообщений, которые имеют установленный флаг Media, но не имеют флага Seen.

  Пример:
    `A001 STATUS mailbox (UNSEEN OLDEST INTERNALSIZE UNSEENMEDIA)
    * STATUS mailbox (UNSEEN 14 OLDEST "23-Feb-2002 07:59:42 +0000" INTERNALSIZE 2345678 UNSEENMEDIA 1)
    A001 OK completed`
`LIST`
  Наряду с опциями, описанными в расширении LISTEXT, команда LIST может использовать следующие дополнительные опции:
    `UIDVALIDITY`, `CLASS`, `MESSAGES`, `UIDNEXT`, `UNSEEN`, `INTERNALSIZE`, `OLDEST`, `UNSEENMEDIA`

  Элементы данных, включаемые в ответ, имеют следующий формат:
    `\option_name(option_value)`
  Пример:
    `A001 LIST (CHILDREN CLASS UNSEEN INTERNALSIZE) "" "ma%"
    * LIST (\HasNoChildren CLASS("IPF.Contact") \UNSEEN(14) \INTERNALSIZE(2345678) \Unmarked) mailbox
    A001 OK completed`
Дополнительные флаги сообщений.
  Так же поддерживаются IMAP флаги сообщений $MDN, $Hidden, $Media, что позволяет совершать операции с этими флагами сообщений. С помощью добавления флага $Service при "просмотре папки" можно легко убрать сообщение из списка показываемых сообщений.
`ENABLE EXTENSIONS`
  После выполнения этой команды IMAP:
  - сообщения со специальным флагом сообщений $Service станут видимыми
  - Непочтовые Папки станут видимыми

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.