Crie caixas de correio personalizadas com dovecot

1

Estou tentando configurar o plugin dovecot + sieve. Estou processando o formato do Maildir. Eu uso o Thunderbird para ler os e-mails, então não preciso de um webmail no meu servidor. A configuração básica funciona bem, mas agora eu quero adicionar algumas regras na peneira para redirecionar alguns e-mails, como este, por exemplo:

require ["envelope", "fileinto"];
if envelope :is "from" "[email protected]" {
    fileinto "Test";
}

Mas a peneira não pode encontrar o diretório "Test", por isso, ele é colocado na "Caixa de entrada". /var/log/syslog output:

dovecot: lda([email protected]): Error: sieve: msgid=<[...]>: failed to store into mailbox 'Test': Mailbox doesn't exist: Test
dovecot: lda([email protected]): sieve: msgid=<[...]>: stored mail into mailbox 'INBOX'

Então eu tentei adicionar uma caixa de correio manualmente (mas idealmente eu gostaria que fosse automática quando peneira solicitar uma nova caixa de correio) usando este conf no dovecot:

 namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Test {
    auto = subscribe
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
}

Assim a caixa de correio é criada na recepção de um email e o email é armazenado em ~/mail/Test/new/ , mas não consigo encontrar a pasta / caixa de correio "Test" no Thunderbird. Todas as outras caixas de correio aparecem corretamente como uma pasta no Thunderbird, mas não na nova.

O que estou fazendo errado? Não consigo encontrar nenhum exemplo de configuração dovecot em que as pessoas usem caixas de correio personalizadas (apenas as poucas padrão). É mesmo possível com o dovecot? Melhor ainda: existe uma maneira de automatizar a criação da caixa de correio quando a peneira precisa de uma nova?

    
por MoaMoaK 15.08.2017 / 23:51

2 respostas

2

Use o parâmetro :create do recurso mailbox sieve (não se esqueça de require it!):

require ["envelope", "fileinto", "mailbox"];
if envelope :is "from" "[email protected]" {
    fileinto :create "Test";
}
    
por 16.08.2017 / 17:54
1

Ok, o que Jens Erat disse era exatamente o que eu estava procurando. Esqueci de require quando tentei usar o :create , mas agora isso funciona. O servidor cria nova caixa de correio na recepção.

E para os que estão se perguntando, o que eu também descobri é que no Thunderbird você precisa clicar com o botão direito na caixa de correio > Assinar > Inscreva-se em novas pastas para verificar e-mails nas pastas criadas no lado do servidor. Ele não assinará automaticamente (a menos que haja uma opção, mas eu não a vi)

    
por 16.08.2017 / 22:23