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";
}
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?
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";
}
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)