Папки
Каждый пользователь CommuniGate Pro может иметь одну или несколько папок. Каждая папка имеет своё уникальное имя и может содержать ноль и более сообщений. Через модули POP, IMAP, MAPI, XIMSS, веб-интерфейс пользователя и приложения реального времени сервер CommuniGate Pro предоставляет доступ к папкам пользователя.
Для хранения папок CommuniGate Pro может использоваться несколько форматов. Пользователь типа набор папок может хранить папки в различных форматах.
У каждого пользователя всегда имеется папка INBOX. Любое сообщение, доставляемое пользователю CommuniGate Pro сохраняется в папке INBOX — если только автоматическими правилами обработки не затребовано сохранение сообщения в другой папке.
Имена папок
Папка INBOX создаётся автоматически при создании пользователя. Администратор сервера и/или администратор домена может задать автоматическое создание дополнительных папок.
Пользователь может создавать папки, используя почтовые приложения, работающие через IMAP, MAPI или XIMSS, а также используя веб-интерфейс пользователя.
Папки могут быть «вложенными»: для любой папки «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 является исключением: оно всегда независимо от регистра.
Флаги сообщения
Сообщения в папках имеют индивидуальные флаги. Эти флаги могут устанавливаться при сохранении сообщения в папке, и они могут обновляться через методы и протоколы доступа к папкам, таких как IMAP, MAPI, XIMSS, веб-интерфейс пользователя, приложения реального времени.
Некоторые флаги устанавливаются автоматически, даже если используемый протокол доступа не поддерживает изменения флагов. Например, флаг 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 клиентам. | $Service | NotService |
Media | Если этот флаг установлен, то сообщение рассматривается как сообщение, содержащее некоторые «медиа» (видео/аудио) данные. | $Media | NotMedia |
Junk | Если этот флаг установлен, то сообщение рассматривается как «мусор» (спам). | Junk | NotJunk |
Помимо предопределённых флагов, сервером поддерживаются пользовательские флаги с произвольными именами. IMAP имена пользовательских флагов не могут содержать пробелов и следующих символов: \(){%*" Пользовательские флаги не имеют обратных имён. Имена регистро-независимые.
Права доступа к папке
Сервер CommuniGate Pro ведёт списки прав доступа (ACL) для каждой создаваемой им папки.
Список прав доступа используется для управления возможностью доступа к чужим папкам, позволяющей пользователю получать доступ к папкам других пользователей.
Администратор сервера с правами доступа все пользователи и домены имеет полный доступ ко всем папкам всех пользователей сервера (или кластера).
Администраторы домена с правом доступа полный доступ ко всем папкам имеют полные права доступа ко всем папкам в своих доменах.
Пользователь-владелец папки может предоставить определённые ограниченные права другим пользователям, управляя этими правами при помощи списка прав доступа.
Поддерживаются следующие права доступа к папке:
l (Видеть) | Если вы предоставляете пользователю права доступа “видеть”, то этот пользователь сможет видеть эту папку, если он запросит сервер показать список всех ваших папок. |
r (Входить) | Если вы предоставляете пользователю права доступа “входить”, то этот пользователь сможет открыть (выбрать) эту папку и видеть (читать) все сообщения, имеющиеся в этой папке. |
s (Читать) | Если вы предоставляете пользователю права доступа “читать”, то этот пользователь сможет помечать сообщения как прочитанные (флаг seen). Обычно сообщения помечаются как прочитанные автоматически когда пользователь читает их. Но если это право доступа отсутствует у пользователя, читающего содержимое папки, то статус «seen» сообщения не будет изменён. |
w (Метить) | Если вы предоставляете пользователю права доступа “метить”, то этот пользователь сможет устанавливать флаги сообщений: то есть, помечать сообщения как отвеченные или устанавливать другие флаги, а также сбрасывать флаги сообщений. |
d (Удалить) | Если вы предоставляете пользователю права доступа “удалить”, то этот пользователь сможет помечать сообщения как удалённые и сжимать папку, удаляя все такие сообщения. |
i (Добавить) | Если вы предоставляете пользователю права доступа “добавить”, то этот пользователь сможет добавлять сообщения в эту папку и копировать сообщения в эту папку из других папок. |
p (Публиковать) | Современными почтовыми программами это права доступа не используется. |
c (Создать) | Если вы предоставляете пользователю права доступа “создать”, то этот пользователь сможет создавать новые папки «внутри» этой папки. |
a (Управлять) | Если вы предоставляете пользователю право доступа “управлять”, то пользователь сможет:
|
При создании подпапки, она наследует ACL внешней «родительской» папки. Это означает, что если вы создаёте папку INBOX/sales, то она создаётся с таким же ACL, что задан для папки INBOX.
Чтобы удалять чужие папки, пользователь должен иметь:
право доступа создать для внешней (родительской) папки, и
право доступа удалить для указанной папки
Чтобы переименовывать чужие папки, пользователь должен иметь:
право доступа “создать” для внешней (родительской) папки оригинальной папки, и
право доступа “удалить” для указанной оригинальной папки, и
право доступа “создать” для внешней (родительской) папки новой папки (имя папки)
Чтобы создавать чужие папки, пользователь должен иметь право доступа “создать” для внешней (родительской) папки создаваемой папки.
Если требуемая папка является «верхней» у пользователя, и, следовательно, не имеет внешней (родительской) папки, то вместо этого проверяется право доступа пользователя «может создавать папки».
Список прав доступа к папке может задаваться и изменяться через веб-интерфейс пользователя, XIMSS, MAPI или подходящий IMAP клиент.
Форматы папок
CommuniGate Pro хранит полученные сообщения в папках пользователя. Сервер поддерживает несколько форматов папок; тип папки определяется по расширению файла (или директории) папки.
Для пользователей, которые могут иметь только одну папку, тип папки указывается при создании пользователя.
Каждый пользователь с типом “набор папок” имеет настройку, согласно значению которой определяется используемый по умолчанию тип для всех новых папок, создаваемых этим пользователем. Пользователь с типом “набор папок” может явно указать тип папки при её создании: если имя папки указывается как name.extension, то будет создана папка name с типом extension.
Текстовый формат (.mbox) папки
Файлы папки с таким расширением хранят сообщения в формате папки BSD. Каждое сообщение в папке начинается со строки From:
from <>(flags-uid-origuid) отметка времени
Это тот же формат, что использовался в старых почтовых системах, но с «комментарием», добавленным после строки return-path. Формат .mbox остаётся совместимым со старыми почтовыми приложениями (локальными почтовыми программами), и в то же время он позволяет серверу CommuniGate Pro хранить требуемую информацию о сообщениях (флаги статуса сообщения и уникальный идентификатор сообщения в папке.
Если файл папки был скопирован со старой системы, или если он используется как внешний INBOX и старые приложения могут добавлять сообщения в эту папку, то некоторые сообщения не будут иметь части «с комментарием». CommuniGate Pro позволяет пользователю работать с такими сообщениями, но он не сохраняет флаги сообщения, если они были изменены, и не запоминает идентификаторы сообщений между сессиями. Самое простое решение — скопировать такие сообщения в другую папку и затем скопировать их обратно в оригинальную папку — при операции копирования в строку From будет помещена корректная информация.
При сохранении сообщения в папке типа .mbox проверяются все строки сообщения. Если есть пустая строка, за которой следует строка, начинающаяся буквами From, перед буквой F будет вставлен символ '>'.
По мере увеличения в объёме, текстовые папки становятся неэффективными. При открытии текстовой папки её содержимое сначала должно быть «разобрано» для того, чтобы найти границы сообщений, получить идентификаторы сообщений, флаги и другую информацию о сообщениях. Когда некоторые сообщения из середины текстовой папки удаляются, сервер должен скопировать оставшиеся сообщения, сжав папку. Для того, чтобы сделать этот процесс более эффективным, сервер CommuniGate Pro может оперировать большими порциями данных папки. Специальный объект семафор ограничивает число буферов, размещаемых для обработки больших папок. Изменяя этот параметр, можно изменить общий доступ к большим папкам (вы можете увеличить или уменьшить его, в зависимости от используемых ос и файловой системы).
Чтобы улучшить скорость открытия текстовых папок, CommuniGate Pro вместе с файлом текстовой папки может вести файл (.bdx), содержащий индекс папки. Если файл с индексом существует, то сервер, вместо того, чтобы разбирать весь файл папки, прочитает этот индекс. CommuniGate Pro автоматически создаёт файл с индексом, когда размер файла папки превышает указанный лимит. Сервер удаляет файл с индексом, если размер папки становится меньше этого размера.
Файл с индексом создаётся, когда сообщение в папке изменяется или удаляется. Если в папку были добавлены новые сообщения, но папка не открывалась, или она была прочитана без изменения флагов, то файл с индексом может не создаваться.
Для хранения расширенных атрибутов сообщений в папке создаются специальные «невидимые» сообщения.
Чтобы задать настройки менеджера текстовых папок, используйте веб-интерфейс администратора. Откройте в области установки страницу общее, затем на странице прочее найдите панель текстовые папки:
Одновременно используемые буферы
Используйте эту настройку для указания количества одновременных операций (разбор, удаление), которые могут выполняться на больших папках.
Индексировать после
Используйте эту настройку для указания минимального размера папок, начиная с которого папки будут индексироваться.
Формат директории (.mdir) папки
Папки с этим расширением являются файловыми директориями. Каждое сообщение в папке хранится как отдельный файл в директории “папки”.
Имя файла сообщения имеет следующий формат:
iiiiOoooo-флаги-отметка времени-колСтрок
где iiii— это уникальный идентификатор сообщения, Ooooo — необязательный постоянный идентификатор сообщения, флаги — это флаги статуса сообщения, отметка времени — это внутренняя отметка времени - время (GMT), когда сообщение было добавлено в папку, в формате yyyymmddhhmmss, а колСтрок — количество строк в сообщении.
Обратите внимание: платформах Unix реализована модель разделённого хранения: если одно и то же сообщение доставляется нескольким пользователям (в несколько папок), то создаётся только один файл с сообщением, а в каждую директорию “папки” сохраняется жёсткая ссылка на файл.
Когда сообщение удаляется из всех папок, файл автоматически удаляется операционной системой.
Это свойство отключено для пользователей, в установках которых включена функция безопасного удаления писем (затирать удаляемые сообщения).
Для сохранения расширенных атрибутов используются специальные файлы с именами вида Ooooo.
Обратите внимание: большинство бесплатных почтовых систем используют форматы типа mbox или mdir, а создатели таких систем делают различные утверждения относительно преимущества избранных ими форматов. Очень важно помнить, что:
CommuniGate Pro не использует возможности файловой системы ОС (блокировки) для обеспечения одновременного доступа к папкам. Доступ к папкам CommuniGate Pro любого формата может осуществляться несколькими клиентами одновременно, и все механизмы синхронизации реализованы в менеджере папок CommuniGate Pro, работающим одинаково для папок любого формата.
CommuniGate Pro использует эффективные механизмы для разбора папок, так что различные заявления о том, что какой-либо формат папки «медленнее» или «быстрее» в большинстве случаев не применимы к системам, работающим под управлением CommuniGate Pro.
CommuniGate Pro позволяет пользователям создавать папки в различных форматах, и даже один пользователь может иметь папки в разных форматах.
Обратите внимание: формат .mdir рекомендуется только для таких папок, в которых содержится много (100 и больше) больших (100К и выше) сообщений. Если пользователь имеет папку Proposals, куда он сохраняет все сообщения с приложенными документами, каждое размеров в 200-500К, то такая папка действительно может работать быстрее, если она создана в формате .mdir.
Нарезанный формат (.mslc) папки
Папки с этим расширением являются файловыми директориями. Эти директории содержат файлы dataNNNN, в каждом из которых содержится одно или более сообщений, в формате, похожем на формат текстовых папок.
Файл index.bdx содержит индекс папки с информацией о всех сообщениях во всех файлах данных.
Когда новые сообщения добавляются в папки такого формата, они дописываются в существующие файлы данных или сохраняются во вновь созданный файл данных, в зависимости от размера и количества писем, хранящихся в текущем файле данных.
Когда сообщения удаляются, файлы данных могут быть слиты вместе, чтобы держать общее количество файлов относительно низким.
4-й формат (.mb4) папки
Папки с этим расширением являются файловыми директориями. Все файлы в этой директории имеют расширение .mb4, или .emb4 eсли папка зашифрованная.
Файлы псевдо-текстовые: их можно просматривать как текст, но редактировать нельзя. В качестве разделителя строк используется CR+LF независимо от платформы. Могут содержаться не-текстовые символы.
Тексты сообщений содержатся в файлах dataNNNN.mb4.
Для сохранения флагов и расширенных атрибутов сообщений, а также настроек, служебной информации, и прочего, используются специальные файлы.
При удалении сообщений пользователем сообщения помечаются как удалённые и не показываются пользователю, и могут какое-то время оставаться в файлах. Сервер сам решает, когда помеченные на удаление собщения будут реально удалены. Чтобы скрывать содержимое удаляемых сообщений в файлах можно включить опцию «затирать удаляемые сообщения».
Файлы не нужно конвертировать при переносе данных между Unix и Windows.
Классы папок
Каждая папка имеет атрибут класса. Этот атрибут указывает тип информации, для которого создана эта папка: календарь, адресные книги, задания, заметки, и т.д. Если папка не содержит атрибута класса, то это означает, что она создана для хранения обычных сообщений электронной почты.
Класс папки не ограничивает тип сообщений, которые могут храниться в папке: Письма электронной почты и контакты могут быть сохранены в папки класса задания, заметки могут храниться в календарях и т.д. Информация о классе папки используется в развитых интерфейсах пользователя (веб-интерфейс пользователя, MAPI) для того, чтобы показывать содержимое папки в соответствующем виде.
Когда папка создаётся в продвинутом интерфейсе клиента, то этот интерфейс может проставлять класс папки. Классы папок могут быть также изменены через интерфейс командной строки CLI/API CommuniGate Pro.
Специальные папки
Некоторые папки имеют специальное предназначение.
В папку INBOX поступают все входящие сообщения электронной почты, за исключением ситуаций, когда эти сообщения прямо направляются в другие папки правилами или через прямую адресацию папок.
Папка INBOX создаётся автоматически при создании Пользователя.
Другие специальные папки не имеют фиксированных имён. Пользователь или администратор могут задавать и изменять имя, используемое для специальной папки. Эти имена хранятся в настройках пользователя.
Сервер CommuniGate Pro распознаёт имена специальных папок (начинающиеся и заканчивающиеся символами $) как ссылки на специальные папки. Это возможность позволяет клиентским приложениям получать доступ к специальным папкам у любого пользователя, не перенастраивая их каждый раз на использование фактических имён таких специальных папок. Эти специальные имена не показываются в списке папок пользователя.
Корзина | Эта папка используется для хранения удаляемых сообщений. Клиенты могут передвигать сообщения из других папок в эту папку, используя её как «мусорную корзину». Специальное имя:
|
Отправленное | Эта папка используется для хранения копий отправленных сообщений электронной почты. Специальное имя:
|
Исходящие | Эта папка используется для хранения отложенных сообщений электронной почты, ожидающих отправки. Специальное имя:
|
Черновики | Эта папка используется для хранения черновиков сообщений электронной почты. Специальное имя:
|
Папка для спама | Эта папка используется для хранения спама. Специальное имя:
|
История | Эта папка используется для хранения сообщений типа «протокол», таких, как протокол сессии мгновенных сообщений. Специальное имя:
|
Календарь по умолчанию | Эта папка используется как главная папка календаря пользователя. Предполагается, что эта папка имеет класс “календарь”. Специальное имя:
|
Задания по умолчанию | Эта папка используется главная папка заданий пользователя. Предполагается, что эта папка имеет класс “задания”. Специальное имя:
|
Контакты по умолчанию | Эта папка используется как главная папка контактов пользователя. Ожидается, что эта папка имеет класс “контакты”. Специальное имя:
|
Блокнот | Эта папка используется как главная папка с заметками пользователя. Предполагается, что эта папка имеет класс “заметки”. Специальное имя:
|
Блокированные папки
Каждая папка может иметь атрибут “заблокирован”. Если этот атрибут установлен, то папка не может быть удалена или переименована.
Заблокированная папка может быть удалена или переименована вместе с её родительской папкой, если сама родительская папка не заблокирована.
Вы можете указать атрибут “заблокирован” для папок, создаваемых через шаблон пользователя. Атрибут “заблокирован” папки может быть также изменён через интерфейс командной строки CLI/API CommuniGate Pro.
Создание папок
Каждый пользователь имеет настройку, согласно значению которой определяется используемый по умолчанию формат для новых папок, которые могут быть созданы этим пользователем.
Пользователь может явно указать формат хранения папки для новой папки, добавив к имени новой папки расширение, соответствующее этому формату. Если пользователь указывает серверу CommuniGate Pro создать папку newmailbox.mdir, то папка newmailbox создаётся в формате .mdir.
Подписка на папки
Сервер CommuniGate Pro позволяет пользователю подписываться на некоторые папки. Подписка на папку пользователя — это список имён папок. Это список не используется сервером — сервер просто хранит его для каждого пользователя.
Много почтовых программ, работающих по IMAP, используют список подписки и показывают только те папки, на которые пользователь подписан. Веб-интерфейс пользователя также может быть настроен на показ только тех папок, на которые пользователь подписан.
Вы можете изменять подписку пользователя через соответствующую почтовую программу, работающую через IMAP, или через веб-интерфейс пользователя.
Вы можете использовать подписку на папку пользователя для того, чтобы заставить старые почтовые программы IMAP использовать чужие папки: убедитесь, что ваш IMAP клиент настроен на использование подписки на папки пользователя, и добавьте желаемое имя чужой папки в список подписки.
Обратите внимание: некоторые почтовые программы IMAP могут перестраивать списки подписки пользователя: они стирают подписку, а потом подписывают вас на ваше же папки.
Подписка на папки пользователя хранится в сервисном .info файле пользователя.
Псевдонимы папок
Некоторые IMAP клиенты (такие, как Microsoft Outlook и Outlook Express), а также клиенты AirSync (например, Windows Mobile, Apple iPhone, Nokia) не поддерживают прямую работу с чужими папками и не могут использовать подписку на папки для доступа к чужим папкам.
Чтобы эти клиенты получили доступ к чужим папкам, может использоваться механизм псевдонима папки.
Псевдоним папки — это имя, связанное с некоторым (чужим) именем папки. Например, вы можете создать псевдоним папки 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 позволяет нескольким клиентским приложениям соединяться с сервером, открывать одну и ту же папку, читать и изменять данные в папке одновременно.
Многопотоковый дизайн CommuniGate Pro позволяет серверу синхронизировать деятельность клиентов без использования блокировок файлов на уровне ОС и не заставляет клиента ждать, пока все другие клиенты не закроют эту папку.
Одновременный доступ означает, что:
несколько клиентов могут работать одновременно с одной папкой;
новые сообщения могут быть добавлены в папку в то время, как клиентские почтовые приложения работают с этой папкой;
сообщения могут быть удалены из папки в то время, как клиентские почтовые приложения работают с этой папкой.
Клиенты, работающие с одной и той же папкой, могут использовать один и тот же или разные протоколы доступа — POP, IMAP, MAPI, AirSync, WebUser или интерфейс XIMSS.
Одновременный доступ поддерживается для всех типов папок, реализованных в CommuniGate Pro.
Это возможность позволяет вам работать с вашей папкой с нескольких рабочих станций и/или устройств, а также позволяет группе людей (например, отделу продаж) обрабатывать сообщения в одной централизованной папке.
Чужие и публичные папки
CommuniGate Pro позволяет пользователям получать доступ к папкам других пользователей.
Доступ к этим чужим папкам (так же известными как общие или совместно используемые папки) контролируется через список прав доступа к папке.
Для доступа к папке другого пользователя, имя папки должно быть указано как ~accountname/mailboxname. Например, для доступа к папке INBOX пользователя Boss, имя папки должно быть указано как ~Boss/INBOX.
Если на сервер есть несколько локальных доменов, доступ к папкам разных доменов должен быть задан путём указания полного имени пользователя. Для доступа к папке LIST/reports пользователя ListMaster в домене client.com, имя папку должно быть указано как ~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 вообще не поддерживают работу с чужими папками. Для того, чтобы эти клиенты получили доступ к совместно используемым папками других пользователей, может использоваться механизм псевдонима папки.
Локальные папки сервера
На некоторых системах пользователи имеют прямой (локальный) доступ к компьютеру почтового сервера, и некоторые из них привыкли использовать локальный почтовые программы — mail, elm и другие. Локальные почтовые программы не используют никаких сетевых протоколов для доступа к папкам. Эти программы читают и изменяют файлы папок прямо на файловой системе.
CommuniGate Pro позволяет вам создавать пользователей, имеющих внешние INBOX. Эти папки хранятся не внутри директории данных CommuniGate Pro, а в системной директории, используемой старыми почтовыми программами.
Так как эти файлы папки INBOX могут быть прочитаны и изменены в любое время минуя протоколы и модули CommuniGate Pro, то серверу необходимо синхронизировать свою деятельность со старыми почтовыми приложениями, используя возможность блокировки файлов ОС (блокировку всего файла, или его участка).
В системах Unix блокировка файла известна как операция flock, а блокировка участка файла известна как операция fcntl. Уточните в руководстве вашей операционной системы какой метод используется старыми почтовыми программами и настройте сервер CommuniGate Pro на использование этого метода. Для систем, поддерживающих только один механизм блокировки файлов (MS Windows, Sun Solaris и некоторые другие системы), будет использоваться этот механизм независимо от указанных настроек.
Вы должны использовать внешние папки только когда это абсолютно необходимо, потому что:
доступ к внешним папкам менее эффективен из-за ресурсов, необходимых для работы блокировок файлов ОС.
локальные почтовые программы НЕ синхронизируются корректным образом, и всегда есть вероятность того, что локальная почтовая программа уничтожит папку. Если некоторым из ваших пользователей необходимо работать через локальные почтовые программы, предупредите их об этом факте и попросите их избегать одновременного использования локальных почтовых программ и современных (работающих по протоколам) почтовых программ. Эти ошибки в большинстве локальный почтовых программ не проявляются, если сообщения только добавляются в папку во время работы локальной почтовой программы. Локальные почтовые программы могут повредить папку если сообщения удаляются из папки во время работы локальной почтовой программы.
Если вы планируете поддерживать совместимость с локальными почтовыми программами для всех или некоторых пользователей в домене (обычно — в главном домене), вы должны задать настройки ынешнего INBOX в этом домене.
Когда вы создаёте пользователя, который имеет внешний INBOX, сервер проверяет, существует ли уже файл с папкой INBOX пользователя в указанном месте и, в случае его отсутствия, создаёт этот файл.
Когда вы удаляете пользователя, который имел внешний INBOX, сервер НЕ удаляет файл с папкой INBOX.
Записи в журнал сервера
Записи в журнале для событий, связанных с операциями с папками, имеют отметку MAILBOX.
Уровень записи журнала для папок задаётся в настройках домена
Отметки содержат имя пользователя и имя папки. Не-латинские символы в именах папок отображаются в кодировке modified UTF-7.
Записи уровня 0 (Катастрофы) содержат сообщения о критических сбоях, требующих вмешательства администратора.
Записи уровня 1 (Сбои) содержат сообщения о сбоях, которые сервер может исправить самостоятельно или проигнорировать.
Записи уровня 2 (Основное) содержат сообщения об:
открытии и закрытии папки;
добавлении сообщения в папку;
удалении сообщения;
изменении флагов сообщений;
изменении атрибутов сообщений;
а также о:
создании папки;
удалении папки;
переименовании папки;
изменении прав доступа к папке;
Записи уровня 3 (Проблемы) частично дублируют сообщения уровня 2, но содержат более подробную информацию о производимых операциях (размеры почтовых сообщений, конкретные имена изменяемых флагов и т.п.).
Записи уровней 4 (Подробности) и 5 (Всё) содержат сообщения о чтении почтовых сообщений, а также иные сообщения, специфичные для данного формата папки (об операциях с файловой системой и т.д.).
Пример:
1) … 2 MAILBOX(user@domain/INBOX) #1 opened by IMAP-000022, 1 open2) … 2 MAILBOX(user@domain/INBOX) #2 opened by WEBUSER-000033, 2 open3) … 2 MAILBOX(user@domain/INBOX) #3 opened by LOCAL-000001, 3 open4) … 3 MAILBOX(user@domain/INBOX) {181} appended [1] @7454: 70+1169 bytes5) … 2 MAILBOX(user@domain/INBOX) #3 {181} appended6) … 2 MAILBOX(user@domain/INBOX) [17701] stored as {181}7) … 2 MAILBOX(user@domain/INBOX) #3 closed, 2 open8) … 3 MAILBOX(user@domain/INBOX) #2 flags update (1): +Seen,Deleted9) … 2 MAILBOX(user@domain/INBOX) #2 {181} flags updated10) … 2 MAILBOX(user@domain/INBOX) #2 closed, 1 open11) … 2 MAILBOX(user@domain/INBOX) #1 {181} deleted12) … 2 MAILBOX(user@domain/INBOX) #1 closed, 0 open
Интерпретация:
1) у пользователя user@domain папка INBOX с сессией #1 открыта сессией IMAP-000022, папка открыта 1 сессией2) папка с сессией #2 открыта сессией WEBUSER-000033, папка открыта 2 сессиями3) папка с сессией #3 открыта модулем LOCAL, папка открыта 3 сессиями4) было добавлено новое сообщение с ID 181 в файл номер 1 по смещению 7454: 1169 байт данных и 70 метаданных5) сессия #3 добавила в папку сообщение с ID 1816) сообщение из очереди с ID 17701 записано в папку с ID 1817) сессия #3 закрыта, папка открыта 2 сессиями8) из сессии #2 запрос на изменение флагов для одного сообщения: добавление флагов Seen и Deleted9) сессия #2 у сообщения 181 именила флаги10) сессия #2 закрыта, папка открыта 1 сессиями11) сессия #1 сообщение 181 удалила12) сессия #1 закрыта, открытых сессий больше нет