É seguro mover arquivos de mensagens IMAP ao usar o dovecot?

3

Estou executando o postfix + dovecot e todas as mensagens IMAP estão em /var/vmail/DOMAIN/USER . Gostaria de criar um script cron que procure mensagens para todos os usuários em uma pasta chamada 'False Positives', sa-learn them como ham e mova-os para a caixa de entrada.

A questão aqui é: é seguro apenas mv desses arquivos de mensagens? Ou deve ser feito através de alguns meios "oficiais" para que o servidor IMAP esteja ciente da mudança?

    
por CaptSaltyJack 25.04.2013 / 08:41

1 resposta

3

O Dovecot detecta alterações na caixa de correio e recria os índices automaticamente. Em vez de 'mv', você pode usar o comando dovecot do dovecot e salvar as reconstruções de índice desnecessárias.

Algo como isso deve funcionar:

doveadm search -A mailbox 'False Positives' 2>/dev/null | while read user guid uid; do   doveadm fetch -u $user text mailbox-guid $guid uid $uid | sa-learn --ham ; doveadm move -u $user INBOX mailbox-guid $guid uid $uid ; done
Learned tokens from 1 message(s) (1 message(s) examined)
Learned tokens from 1 message(s) (1 message(s) examined)
Learned tokens from 1 message(s) (1 message(s) examined)

Explicação:

  • doveadm search -A mailbox 'False Positives' - > retorna o usuário / guid / uid de todas as mensagens em uma pasta "False Positives"
  • doveadm fetch -u $user text mailbox-guid $guid uid $uid | sa-learn --ham - > imprime a mensagem completa (cabeçalho e corpo) e canaliza para sa-learn
  • doveadm move -u $user INBOX mailbox-guid $guid uid $uid - > move a mensagem para INBOX
por 25.04.2013 / 09:31

Tags