Eu uso o postfix, porque meu Maildir contém 14.000 arquivos?

1

Como estou prestes a abandonar um servidor, pensei, devo limpar meu diretório Maildir , apenas no caso. Pode conter alguns e-mails com senha e tal, então eu não quero que eles sejam legíveis por outros. Eu usei a seguinte linha de comando:

find Maildir/ -type f -exec shred -u {} \;

Para minha surpresa, essa linha de comando não retornou após alguns minutos. Então eu corri outro comando para ver quantos arquivos eu tinha em Maildir :

find Maildir/ -type f | wc
  14736   17737 1394113

E sim. São 14.736 arquivos.

O que está acontecendo com o postfix?

Estou usando o thunderbird como cliente, mas isso não deve afetar o funcionamento do servidor. Então, por que todos esses arquivos seriam criados e mantidos lá?

Como exemplo, tenho uma pasta chamada "Blogs" com uma subpasta chamada "Warriors" no Thunderbird. Quando olho para o Thunderbird, essa pasta está definitivamente vazia. Ao olhar para a minha pasta Maildir , vejo dois arquivos. Tenho a impressão real de que o postfix não exclui e-mails que eu excluo no Thunderbird. Poderia ser isso? Os dois arquivos abaixo foram apagados há algum tempo e, no entanto, eles ainda estão no meu servidor de e-mail quase três meses depois ...

Maildir/.Blogs.Warriors/cur:
total 16
drwx------ 2 alexis alexis 4096 Feb  8 00:10 .
drwx------ 6 alexis alexis 4096 Feb  8 00:03 ..
-rw-r--r-- 1 alexis alexis 2727 Feb  5 00:02 1486252970.M453258P14727V0000000000000800I00000000001E4FDE_9.m2osw.com,S=2727:2,ST
-rw-r--r-- 1 alexis alexis 2646 Feb  8 00:02 1486512185.M350097P2621V0000000000000800I00000000001E4F7B_84.m2osw.com,S=2646:2,ST
    
por Alexis Wilke 23.04.2017 / 23:19

1 resposta

1

Primeiro, o Postfix não tem nada a ver com isso, pois é um agente de transporte de mensagens , e as mensagens já entregues para Maildir são recuperadas e tratadas pelo mail user agent (por exemplo, Thunderbird) provavelmente (e espero) via servidor IMAP (por exemplo, Dovecot).

A exclusão de uma mensagem em uma conta IMAP define apenas um sinalizador que a marca para exclusão e a oculta da visualização. O arquivo não é excluído imediatamente do Maildir , mas agora tem o sinalizador 2.T em seu nome de arquivo:

info starting with 2,: Each character after the comma is an independent flag.

  • Flag P (passed): the user has resent/forwarded/bounced this message to someone else.
  • Flag R (replied): the user has replied to this message.
  • Flag S (seen): the user has viewed this message, though perhaps he didn't read all the way through it.
  • Flag T (trashed): the user has moved this message to the trash; the trash will be emptied by a later user action.
  • Flag D (draft): the user considers this message a draft; toggled at user discretion. Flag "F" (flagged): user-defined flag; toggled at user discretion.

Ambos os seus arquivos de exemplo têm sinalizadores :2,ST em seu nome, o que significa que eles foram vistos e lixeira .

Você pode achar um pouco confuso, mas uma mensagem "excluída" é realmente copiada para a pasta Lixeira. No nível técnico, você terá duas cópias do arquivo no servidor, enquanto a GUI diz o contrário. Isso é mais útil no mbox format , pois é preciso menos E / S de disco para salvar apenas os metadados em vez de imediatamente remova uma mensagem no meio de um arquivo possivelmente grande contendo a caixa de correio inteira.

Normalmente, você deve remover as mensagens da pasta com o cliente IMAP, mas não faz diferença nessa situação, quando todas elas serão removidas (ou substituídas por shred ) de qualquer maneira.

Thunderbird chama essa limpeza como compactando , mas não tem nada a ver com compactação.

  • Clique com o botão direito em uma única pasta e selecione Compact para eliminá-la.

  • Você pode compactar todas as pastas de uma só vez em Arquivo > Pastas compactas .

  • Você pode automatizar a eliminação de Opções > Avançado > Rede & Espaço em disco > [x] Compacta todas as pastas quando for salvar [20] MB no total .

Agora que você sabe como Maildir sinalização funciona, você pode facilmente eliminar automaticamente no lado do servidor também. Basta localizar e remover todas as mensagens com 2,ST , possivelmente apenas quando forem mais antigas que n dias.

    
por 25.04.2017 / 08:31