Relação de prefixo de namespace Dovecot para a estrutura subjacente do Maildir

3

Estou tentando descobrir se / o que há uma conexão entre a estrutura do sistema de arquivos e os prefixos de namespace do dovecot. Especificamente, na minha configuração, eu não declarei nenhum namespace, então o dovecot cria um namespace padrão. Sempre que um novo usuário efetua login pela primeira vez, a estrutura de pastas em seu maildir é:

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

Quando eu faço login de um cliente de e-mail, vejo essas caixas de correio:

INBOX
Sent Items
Drafts
Junk E-mail
Deleted Items

Minhas perguntas são:

1.Não deveria a caixa de entrada INBOX ser um diretório ".INBOX"? Ao olhar para o conteúdo, vejo que a caixa de correio INBOX obtém seus itens do diretório "cur". Por que esta exceção para a caixa de correio INBOX?

2.Se eu definir um namespace privado explícito com inbox = yes, e prefixo = FOO, quais conseqüências, se houver, terão a estrutura de pastas e a exibição da caixa de correio do cliente ?. Essencialmente eu não consigo descobrir qual é o objetivo do prefixo do namespace e se ele é usado para nomear os diretórios reais nos usuários do Maildir ou não.

Obrigado

EDIT: Depois de ler as respostas e fazer mais pesquisas, ainda tenho esse problema: as caixas de correio / pasta IMAP têm seu diretório fs correspondente dentro do diretório Maildir (por exemplo, quando o usuário cria (a partir do seu cliente IMAP) um Na pasta / caixa de correio de primeiro nível, diga "Importante", existe um diretório ".Important" que é criado em Maildir. Assim, toda caixa de correio / pasta IMAP tem seu diretório mapeado como subdiretório do Maildir. Exceto a caixa de correio INBOX: Maildir em si.Eu gostaria de definir o diretório INBOX para ser um subdiretório do Maildir, como é para todas as outras caixas de correio.Eu não uso mbox em tudo.Faz o que eu quero fazer sentido e se sim como posso fazê-lo?

    
por Paralife 09.10.2014 / 16:17

2 respostas

4

Shouldn't the INBOX mailbox be an ".INBOX" directory?

Possivelmente, mas normalmente o ~/Maildir/[new|cur|tmp] é o que compõe o INBOX.

Assim como todas as coisas que você pode configurar o Dovecot diferentemente para combinar como você deseja que as mensagens de e-mail sejam entregues e armazenadas. ~/Maildir/INBOX/[new|cur|tmp] é completamente possivel. Tenha cuidado, porém, com o que seu servidor SMTP de entrada (ou LDA) deve configurar para armazenar novos e-mails no disco também ...

As pastas são uma extensão do formato original do Maildir, chamado Maildir ++, conforme descrito aqui . Uma pasta IMAP é implementada como um subdiretório com a convenção de nomenclatura Maildir/.<Folder Name> e Maildir/.<Folder Name>.<Sub Folder> .

As pastas IMAP também são os próprios diretórios do Maildir, pois também contêm os subdiretórios cur, new e tmp, ou seja, Maildir/.<Folder Name>/[cur|new|tmp]/

Dependendo de suas necessidades, você pode alterar isso para Maildir/<Folder Name>/<Sub folder> incluindo a opção LAYOUT=fs na configuração de configuração Dovecot mail_location . Embora eu realmente não veja a necessidade, você não deveria estar gerenciando seus e-mails através do sistema de arquivos de qualquer maneira.

If I define an explicit private namespace with inbox=yes, and prefix=FOO, what consequences, if any will this have to the folder structure and to the client mailbox display?

Na estrutura de pastas no disco, a maioria não, que é configurada pela configuração mail_location no namespace e a presença ou ausência da opção layout = FS.

Criar um espaço para nome com inbox = yes torna esse namespace o INBOX. Um usuário pode ter apenas uma única caixa de entrada. Você precisa garantir que seus e-mails recebidos também sejam entregues para que isso seja útil. Um exemplo com dois namespace é o arquivo mbox clássico sendo o INBOX e o Maildir mantendo todas as pastas IMAP no formato Maildir em um diretório inicial de usuários:

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

O prefixo é usado na resposta NAMESPACE da Dovecot e o efeito dependerá do cliente IMAP. Veja RFC 2342 sobre o propósito dos namespaces.

Essentially I cant figure out what purpose the namespace prefix serves, and if it is used for naming the actual directories in the users Maildir or not.

Dovecot tem muito a dizer sobre a extensão Namespaces para o protocolo IMAP também.

    
por 09.10.2014 / 17:34
1
  1. Porque é assim que funciona, o POP3 no formato Maildir tira as mensagens da sua caixa de entrada de cur / new na raiz do Maildir. Se fosse entregue para .INBOX / cur, não haveria mensagens para POP3

  2. Os espaços de nomes são definidos no RFC2342. Em namespaces Dovecot são usados para alterar o separador de hierarquia, fornecer compatibilidade com outros servidores de email, fornece suporte para caixas de correio públicas e compartilhadas e permite que você tenha email em locais diferentes. A Dovecot fornece informações sobre seu uso em seu wiki: link

Para responder especificamente à sua pergunta sobre o efeito que terá no cliente, isso depende do cliente. Ao falar sobre uma conexão IMAP especificamente, em resposta ao comando NAMESPACE , você teria um namespace "FOO" retornado. O cliente poderia então emitir um comando LIST "FOO%" para obter uma lista de caixas de correio nesse namespace. Como isso é executado no sistema de arquivos para o armazenamento de correspondência é determinado pelo formato de armazenamento de correio (por exemplo, Mbox ou Maildir)

    
por 09.10.2014 / 16:49

Tags