Папки могут быть "вложенными": для любой Папки "A" вы можете создать Подпапку "B" - точно так же, как вы можете создать директорию с файлами внутри другой директории. Сервер CommuniGate Pro использует символ косая черта (/) в качестве разделителя: INBOX/important это имя Подпапки important "внутри" Папки INBOX.
CommuniGate Pro Вы позволяет вам хранить сообщения в некоторой Папке X, и в то же самое время вы можете создавать в ней Подпапки X/Y, X/Z. Эта возможность реализована через использование двух "невидимых" Папок - одна используется для хранения сообщений, а другая для обслуживания вложенных Папок как "директория". Эта вторая Папка "для директорий" создаётся автоматически, при первой же попытке создания Подпапки. Хотя вы можете создать папку "дли директорий" и без создания папки "для хранения": при использовании имени ABCDEF/ в качестве нового имени Папки будет создаваться только папка "для директорий" с именем ABCDEF/. Это имя ABCDEF будет содержаться в списке, но его нельзя будет "выбрать", и вы не сможете сохранить сообщения в Папке ABCDEF. Позднее вы можете создать обычную Папку ABCDEF и к Папке с именем ABCDEF будет добавлена папка "для хранения".
Папку INBOX удалить невозможно. Однако, вы можете переименовать Папку INBOX. В этом случае, немедленно автоматически будет созданна новая пустая папка INBOX.
Имена Папок зависимы от регистра клавиатуры. В некоторых файловых системах (например, в NTFS) доступ к файлам обеспечивается независимо от регистра клавиатуры. При использовании таких файловых систем с CommuniGate Pro для хранения Папок Пользователя, имена Папок являются зависимыми от регистра, но вы не сможете создать две различные Папки с именами, отличающими только регистром клавиатуры. Имя Папки INBOX является исключением: оно всегда независимо от регистра.
Некоторые флаги устанавливаются автоматически, даже если используемый протокол доступа не поддерживает изменения флагов. Например, флаг Seen устанавливается автоматически, когда сообщение читается при помощи команды POP RETR.
Некоторые компоненты (такие как Автоматические Правила, программы CG/PL и т.д.) могут использовать флаги сообщения по их названию. Они также могут использовать "обратные имена" для того, что бы отдать распоряжение серверу сбросить определённые флаги или найти сообщения, не имеющие установленного флага.
Следующая таблица содержит список поддерживаемых флагов сообщений, их IMAP имена и их Обратные имена (Negative names):
Имя
Описание
IMAP Имя
Обратное Имя
Seen
Этот флаг устанавливается когда сообщение было прочитано клиентом. Он может устанавливаться автоматически по результатам некоторых операций доступа к Папке, и также он может устанавливаться и сниматься явно клиентскими почтовыми приложением.
\Seen
Unseen
Read
то же, что Seen
Непрочитанных
Answered
Этот флаг устанавливается когда на это сообщение был отправлен ответ. Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
\Answered
Unanswered
Flagged
Этот флаг устанавливается для отметки сообщения "флагом" (например, почтовый клиент может показывать пользователю сообщение с таким флагом как важное). Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
\Flagged
Unflagged
Draft
Этот флаг устанавливается для сообщений, которые еще не были отправлены. Он указывает почтовому клиенту что можно открывать и редактировать такие сообщения. Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
\Draft
Undraft
Deleted
Этот флаг устанавливается для сообщений, помеченных на удаление. Некоторые почтовые клиенты позволяют пользователям сначала помечать некоторые сообщения в Папке на удаление, а затем удалять ("стирать") все помеченные сообщения из Папки. Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
\Deleted
Undeleted
Redirected
Этот флаг устанавливается когда кому-либо была отправлена (перенаправлена) копия сообщения. Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
$Forwarded
NotRedirected
MDNSent
Этот флаг устанавливается когда для сообщения был отправлен MDN-отчёт ("отчёт о прочтении"). Этот флаг помогает почтовым клиентам отправлять только один MDN отчёт для каждого сообщения. Этот флаг явно устанавливается и снимается клиентским почтовым приложением.
$MDNSent
NoMDNSent
Hidden
Сообщения с таким флагом показываются только Пользователю - владельцу Папки и тем Пользователям, у которых для этой Папки имеется Право Доступа Управлять.
Этот флаг позволяет пользователям при предоставлении доступа к своей Папке другим пользователям скрывать от них определённые сообщения.
$Hidden
NotHidden
Service
Сообщение с этим флагом не показываются IMAP или POP клиентам.
MAPI клиенты могут использовать этот флаг для создания обслуживающих элементов, невидимых для пользователя (таких, как формы Папок).
$Service
NotService
Media
Если этот флаг установлен, то сообщение рассматривается как сообщение, содержащее некоторые "медиа" (видео/аудио) данные.
$Media
NotMedia
Junk
Если этот флаг установлен, то сообщение рассматривается как "мусор" (спам).
Администратор Сервера с правами доступа Все Пользователи и Домены имеет полный доступ ко всем Папкам всех Пользователей Сервера (или Кластера).
Администраторы Домена с правом доступа Полный доступ ко всем Папкам имеют полные права доступа ко всем Папкам в своих Доменах.
Пользователь - владелец Папки может предоставить определённые ограниченные права другим пользователям, управляя этими правами при помощи Списка Прав Доступа.
Поддерживаются следующие права доступа к Папке:
l (Видеть)
Если вы предоставляете пользователю права доступа Видеть, то этот пользователь сможет видеть эту Папку, если он запросит Сервер показать список всех ваших Папок.
r (Входить)
Если вы предоставляете пользователю права доступа Входить, то этот пользователь сможет открыть (выбрать) эту Папку и видеть (читать) все сообщения, имеющиеся в этой Папке.
s (Читать)
Если вы предоставляете пользователю права доступа Читать, то этот пользователь сможет помечать сообщения как прочитанные (флаг Seen). Обычно сообщения помечаются как прочитанные автоматически когда пользователь читает их. Но если это права доступа отсутствует у пользователя, читающего содержимое Папки, то статус "Seen" сообщения не будет изменён.
w (Метить)
Если вы предоставляете пользователю права доступа Метить, то этот пользователь сможет устанавливать флаги сообщений: то есть, помечать сообщения как отвеченные или устанавливать другие флаги, а также сбрасывать флаги сообщений.
d (Удалить)
Если вы предоставляете пользователю права доступа Удалить, то этот пользователь сможет помечать сообщения как удалённые и сжимать Папку, удаляя все такие сообщения.
i (Добавить)
Если вы предоставляете пользователю права доступа Добавить, то этот пользователь сможет добавлять сообщения в эту Папку и копировать сообщения в эту Папку из других Папок.
p (Публиковать)
Современными почтовыми программами это права доступа не используется.
c (Создать)
Если вы предоставляете пользователю права доступа Создать, то этот пользователь сможет создавать новые Папки "внутри" этой Папки.
a (Управлять)
Если вы предоставляете пользователю право доступа Управлять, то пользователь сможет:
изменять ACL Папки
изменять метаданные Папки (такие, как Класс Папки)
При создании Подпапки, она наследует ACL внешней "родительской" Папки. Это означает, что если вы создаёте Папку INBOX/sales, то она создаётся с таким же ACL, что задан для Папки INBOX.
Для того, что бы удалять чужие Папки, пользователь должен иметь:
право доступа Создать для внешней (родительской) Папки, и
право доступа Удалить для указанной Папки
Для того, что бы переименовывать чужие Папки, пользователь должен иметь:
право доступа Создать для внешней (родительской) Папки оригинальной Папки, и
право доступа Удалить для указанной оригинальной Папки, и
право доступа Создать для внешней (родительской) Папки новой Папки (имя Папки)
Для того, что бы создавать чужие Папки, пользователь должен иметь право доступа Создать для внешней (родительской) Папки создаваемой Папки.
Если требуемая Папка является "верхней" у Пользователя, и, следовательно, не имеет внешней (родительской) Папки, то вместо этого проверяется Право Доступа Пользователя "Может Создавать Папки".
Каждый пользователь с типом Набор Папок имеет настройку, согласно значению которой определяется используемый по умолчанию тип для всех новых Папок, создаваемых этим Пользователем. Пользователь с типом Набор Папок может явно указать тип Папки при её создании: если имя папки указывается как name.extension, то будет создана Папка name с типом extension.
Если файл Папки был скопирован со старой системы, или если он используется как внешний INBOX и старые приложения могут добавлять сообщения в эту Папку, то некоторые сообщения не будут иметь части "с комментарием". CommuniGate Pro позволяет Пользователю работать с такими сообщениями, но он не сохраняет флаги сообщения, если они были были изменены, и не запоминает идентификаторы сообщений между сессиями. Самое простое решение - скопировать такие сообщения в другую Папку и затем скопировать их обратно в оригинальную Папку - при операции копирования в строку From будет помещена корректная информация.
При сохранении сообщения в Папке типа .mbox проверяются все строки сообщения. Если есть пустая строка, за которой следует строка, начинающаяся буквами From, перед буквой Fбудет вставлен символ '>'.
По мере увеличения в объеме, текстовые папки становятся неэффективными. При открытии Текстовой Папки её содержимое сначала должно быть "разобрано" для того, что бы найти границы сообщений, получить идентификаторы сообщений, флаги и другую информацию о сообщениях. Когда некоторые сообщения из середины Текстовой Папки удаляются, Сервер должен скопировать оставшиеся сообщения, сжав Папку. Для того, что бы сделать этот процесс более эффективным, сервер CommuniGate Pro может оперировать большими порциями данных Папки. Специальный объект семафор ограничивает число буферов, размещаемых для обработки больших Папок. Изменяя этот параметр, можно изменить общий доступ к большим Папкам (вы можете увеличить или уменьшить его, в зависимости от используемых ОС и файловой системы).
Для того, что бы улучшить скорость открытия Текстовых Папок, CommuniGate Pro вместе с файлом Текстовой Папки может вести файл (.bdx), содержащий индекс Папки. Если файл с индексом существует, то Сервер, вместо того, что бы разбирать весь файл Папки, прочитает этот индекс. CommuniGate Pro автоматически создаёт файл с индексом когда размер файла Папки превышает указанный лимит. Сервер удаляет файл с индексом, если размер Папки становится меньше этого размера.
Файл с Индексом создаётся, когда сообщение в Папке изменяется или удаляется. Если в Папку были добавлены новые сообщения, но Папка не открывалась, или она была прочитана без изменения флагов, то файл с индексом может не создаваться.
Для того, что бы задать настройки менеджера Текстовый Папок, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Общее, затем на странице Прочее найдите панель Текстовые Папки:
Одновременно используемые буферы
Используйте эту настройку для указания количества одновременных операций (разбор, удаление), которые могут выполняться на больших Папках.
Индексировать после
Используйте эту настройку для указания минимального размера Папок, начиная с которого Папки будут индексироваться.
Другие специальные Папки не имеют фиксированных имён. Пользователь или администратор могут задавать и изменять имя, используемое для специальной Папки. Эти имена хранятся в Настройках Пользователя.
Сервер CommuniGate Pro распознаёт имена Специальных Папок (начинающиеся и заканчивающиеся символами $) как ссылки на специальные Папки. Это возможность позволяет клиентским приложениям получать доступ к специальным Папкам у любого Пользователя, не перенастраивая их каждый раз на использование фактических имён таких специальных Папок. Эти Специальные имена не показываются в списке Папок Пользователя.
Корзина
Эта папка используется для хранения удаляемых сообщений. Клиенты могут передвигать сообщения из других Папок в эту Папку, используя её как "Мусорную Корзину". Специальное имя: $Trash$
Отправленное
Эта папка используется для хранения копий отправленных сообщений электронной почты. Специальное имя: $Sent$
Черновики
Эта папка используется для хранения черновиков сообщений электронной почты. Специальное имя: $Drafts$
Папка для Спама
Эта Папка используется для хранения спама. Специальное имя: $Junk$
Календарь по Умолчанию
Эта папка используется как Главная Папка Календаря Пользователя. Предполагается, что эта Папка имеет класс Календарь. Специальное имя: $Calendar$
Задания по Умолчанию
Эта папка используется Главная Папка Заданий Пользователя. Предполагается, что эта Папка имеет класс Задания. Специальное имя: $Tasks$
Контакты по Умолчанию
Эта папка используется как Главная Папка Контактов Пользователя. Ожидается, что эта Папка имеет класс Контакты. Специальное имя: $Contacts$
Блокнот
Эта папка используется как Главная Папка с Заметками Пользователя. Предполагается, что эта Папка имеет класс Заметки. Специальное имя: $Notes$
Каждый Пользователь имеет настройку, согласно значению которой определяется используемый по умолчанию формат для новых Папок, которые могут быть созданы этим Пользователем.
Пользователь может явно указать формат хранения Папки для новой Папки, добавив к имени новой Папки расширение, соответствующее этому формата. Если пользователь указывает Серверу CommuniGate Pro создать Папку newmailbox.mdir, то Папка newmailbox создаётся в формате .mdir.
Вы можете изменять подписку Пользователя через соответствующую почтовую программу, работающую через IMAP, или через Веб Интерфейс Пользователя.
Вы можете использовать подписку на Папку Пользователя для того, что бы заставить старые почтовый программы IMAP использовать чужие Папки: убедитесь, что ваш IMAP клиент настроен на использование подписки на Папки Пользователя, и добавьте желаемое имя чужой Папки в список подписки.
Обратите внимание: Некоторые почтовые программы IMAP могут перестраивать списки подписки Пользователя: они стирают подписку, а потом подписывают вас на ваше же Папки.
Подписка на Папки Пользователя хранится в сервисном .info файле Пользователя.
Для того, что бы эти IMAP клиенты получили доступ к чужим Папками, может использоваться механизм Псевдонима Папки.
Псевдоним Папки - это имя, связанное с некоторым (чужим) именем Папки. Например, вы можете создать псевдоним Папки salesBox для имени Папки ~sales/INBOX. Вы увидите в вашей почтовой программе Папку salesBox, но в действительности это будет папка INBOX Пользователя sales.
Псевдонимы Папок могут создаваться только для Папок Пользователя самого верхнего уровня, что означает, что имя псевдонима не может содержать символ (/).
Псевдонимы Папок могут содержать только имя другого Пользователя (~accountName). Такие псевдонимы обеспечивают доступ ко всем доступным Папкам другого Пользователя. Сами псевдонимы Папок представляются как невыбираемые имена Папок.
Пример конфигурации:
Пользователь chief предоставил право "Видеть" и другие права доступа на его Папки INBOX и Pending Пользователю assistant.
Пользователь assistant создал псевдоним Папки boss, указывающий на ~chief.
Когда пользователь assistant соединяется с Сервером через любой IMAP, XIMSS клиент или через Веб Интерфейс Пользователя, то он видит свои собственные Папки, невыбираемую Папку boss и, так же, Папки boss/INBOX и boss/Pending.
Если пользователь chief создал новую Папку Urgent и предоставил права доступа на эту Папку пользователю assistant, то пользователь assistant немедленно увидит новую папку как Папку boss/Urgent.
Одновременный Доступ поддерживается для всех типов Папок, реализованных в CommuniGate Pro.
Это возможность позволяет вам работать с вашей Папкой с нескольких рабочих станций, а также позволяет группе людей (например, отделу продаж) обрабатывать сообщения в одной централизованной Папке.
Для доступа к Папке другого Пользователя, имя Папки должно быть указано как ~accountname/mailboxname. Например, для доступа к Папке INBOX Пользователя Boss, имя Папки должно быть указано как ~Boss/INBOX.
Если на Сервер есть несколько локальных Доменов, доступ к Папкам разных доменов должен быть задан путём указания полного имени Пользователя. Для доступа к Папке LIST/reports Пользователя ListMaster в домене client.com, имя Папку должно быть указано как ~
/LIST/reports.
Имена Пользователей, указанные после знака "~", обрабатываются в Маршрутизаторе; таким образом, вместо реального имени Пользователя может использоваться Псевдоним Пользователя, к которому будут применяться все правила из Таблицы Маршрутизации.
Очень часто Чужие Папки используются:
что бы позволить секретарю просматривать и помечать сообщения в вашей Папке INBOX;
что бы позволить нескольким продавцам смотреть и обслуживать единый почтовый адрес продаж - Папку INBOX Пользователя sales;
что бы позволить нескольким инженерам смотреть и обслуживать единый почтовый адрес для технической поддержки - Папку INBOX Пользователя support.
Также CommuniGate Pro обеспечивает работу с публичными Папками. Это может быть сделано путём создания Пользователя public и назначения публичных прав доступа ко всем его Папкам. Как правило, каждая группа публичных Папок обслуживается каким-нибудь администратором, который не обязан быть администратором Сервера CommuniGate Pro.
Администратор Сервера CommuniGate Pro должен создать Пользователя public, через Веб Интерфейс Пользователя или через современный IMAP клиент зайти на Сервер как этот Пользователь, создать какие-нибудь публичные Папки, и дать на эти Папки право доступа Управлять какому-нибудь обычному Пользователю, которые уже и будет вести далее эти публичные Папки. Этот пользователь затем может предоставить права доступа другим пользователям, создавать Подпапки и выполнять другие административные задачи.
Например, администратор публичной Папки может использовать Автоматические Правила, что бы копировать определённые входящие сообщения непосредственно в какую-нибудь публичную Папку.
Некоторые IMAP клиенты (такие как Microsoft Outlook и Outlook Express) и большинство клиентов AirSync вообще не поддерживают работу с чужими Папками. Для того, что бы эти клиенты получили доступ к совместно используемым Папками других пользователей, может использоваться механизм Псевдонима Папки.
Когда вы создаётся Пользователя, который имеет Внешний INBOX, сервер проверяет, существует ли уже файл с Папкой INBOX Пользователя в указанном месте и, в случае его отсутствия, создаёт этот файл.
Когда вы удаляете Пользователя, который имел внешний INBOX, Сервер НЕ удаляет файл с Папкой INBOX.