Назад | Перейти на главную страницу

Отношение префикса пространства имен Dovecot к базовой структуре Maildir

Я пытаюсь выяснить, есть ли связь между структурой файловой системы и префиксами пространства имен dovecot. В частности, в моей настройке я не объявил какое-либо пространство имен, поэтому dovecot создает пространство по умолчанию. Всякий раз, когда новый пользователь входит в систему впервые, структура папок в его maildir следующая:

Maildir/
   ...
   cur
   new
   .Sent Items
   .Drafts
   .Junk E-mail
   .Deleted Items
   ...

Когда я вхожу в систему из почтового клиента, я вижу эти почтовые ящики:

INBOX
Sent Items
Drafts
Junk E-mail
Deleted Items

Мои вопросы:

1. Разве почтовый ящик INBOX не должен быть каталогом ".INBOX"? Изучая содержимое, я вижу, что почтовый ящик INBOX получает свои элементы из каталога cur. Почему это исключение для почтового ящика INBOX?

2. Если я определю явное частное пространство имен с помощью inbox = yes и prefix = FOO, какие последствия, если таковые имеются, для структуры папок и отображения почтового ящика клиента? По сути, я не могу понять, какой цели служит префикс пространства имен, и используется ли он для именования фактических каталогов в Maildir пользователей или нет.

Спасибо

РЕДАКТИРОВАТЬ: после прочтения ответов и еще нескольких копаний, у меня все еще есть эта проблема: почтовые ящики / папка IMAP имеют соответствующий каталог fs внутри каталога Maildir (например, когда пользователь создает (из своего клиента IMAP) папку верхнего уровня / почтовый ящик, скажем «Важно», существует каталог «.Important», который создается в Maildir. Таким образом, каждый почтовый ящик / папка IMAP имеет свой сопоставленный каталог, являющийся подкаталогом Maildir. За исключением почтового ящика INBOX: его соответствующим каталогом является сам Maildir. Я хотел бы сделать каталог INBOX подкаталогом Maildir, как и для всех других почтовых ящиков. Я вообще не использую mbox. Имеет ли смысл то, что я хочу делать, и если да, то как я могу это сделать?

Разве почтовый ящик INBOX не должен быть каталогом ".INBOX"?

Возможно, но обычно ~/Maildir/[new|cur|tmp] входят в состав INBOX.

Как и все, что вы можете настроить Dovecot по-разному, чтобы соответствовать тому, как вы хотите, чтобы сообщения электронной почты были доставлены и сохранены. ~/Maildir/INBOX/[new|cur|tmp] вполне возможно. Учтите, что это должно совпадать с тем, как ваш входящий SMTP-сервер (или LDA) настроен для хранения новой электронной почты на диске ...

Папки являются расширением оригинал Формат Maildir называется Maildir ++, как описано Вот. Папка IMAP реализована как подкаталог с соглашением об именах Maildir/.<Folder Name>и Maildir/.<Folder Name>.<Sub Folder>.

Папки IMAP также являются каталогами Maildir, поскольку они также содержат подкаталоги cur, new и tmp, т.е. Maildir/.<Folder Name>/[cur|new|tmp]/

В зависимости от ваших потребностей вы можете изменить это на Maildir/<Folder Name>/<Sub folder> включив LAYOUT=fs вариант в Dovecot mail_location настройка конфигурации. Хотя я действительно не вижу в этом необходимости, поскольку вам все равно не следует управлять своей почтой через файловую систему.

Если я определю явное частное пространство имен с помощью inbox = yes и prefix = FOO, какие последствия, если таковые имеются, для структуры папок и отображения почтового ящика клиента?

В структуре папок на диске, как правило, нет, что настраивается mail_location установка в пространстве имен и наличие или отсутствие опции layout = FS.

Создание пространства имен с помощью inbox = yes делает это пространство имен INBOX. У пользователя может быть только один почтовый ящик. Вы должны убедиться, что ваша входящая почта также будет доставлена ​​туда, чтобы это было полезно. Примером с двумя пространствами имен является классический файл mbox, представляющий собой INBOX, и Maildir, содержащий все папки IMAP в формате Maildir в домашнем каталоге пользователя:

namespace {
  separator = /
  prefix = "#mbox/"
  location = mbox:~/mail:INBOX=/var/spool/mail/%u
  inbox = yes
  hidden = yes
  list = no
}
namespace {
  separator = /
  prefix =
  location = maildir:~/Maildir
}  

Префикс используется в ответе NAMESPACE от Dovecot, и эффект будет зависеть от клиента IMAP. Видеть RFC 2342 о назначении пространств имен.

По сути, я не могу понять, какой цели служит префикс пространства имен, и используется ли он для именования фактических каталогов в Maildir пользователей или нет.

Dovecot может многое сказать о Пространства имён расширение протокола IMAP.

  1. Благодаря такому принципу работы POP3 в формате Maildir принимает ваши входящие сообщения из cur / new в корне Maildir. Если бы он был доставлен в .INBOX / cur, не было бы сообщений для POP3

  2. Пространства имен определены в RFC2342. В Dovecot пространства имен используются для изменения разделителя иерархии, обеспечения обратной совместимости с другими почтовыми серверами, обеспечения поддержки общедоступных и общих почтовых ящиков, а также позволяет хранить почту в разных местах. Dovecot предоставляет информацию о его использовании на своей вики: http://wiki2.dovecot.org/Namespaces

Чтобы конкретно ответить на ваш вопрос о том, какое влияние это окажет на клиента, это зависит от клиента. Говоря конкретно об IMAP-соединении, в ответ на NAMESPACE команда, тогда вам будет возвращено пространство имен "FOO". Затем клиент может выдать LIST "FOO%" , чтобы получить список почтовых ящиков в этом пространстве имен. То, как это будет происходить в файловой системе почтового хранилища, затем определяется форматом вашего почтового хранилища (например, Mbox или Maildir).