De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Procmail - Redução do tamanho de Cabeçalhos de Mensagens

Colaboração: Jorge Luiz Godoy Filho

Data de Publicação: 19 de Abril de 1998

Para aqueles que tem a mania de arquivar mensagens, aqui vai uma dica. O script abaixo usa um programa do pacote do procmail para realizar a extracao de cabecalhos desnecessarios das mensagens.

A titulo de informacao, mantenho arquivos com mensagens das listas que assino e, o resultado foi esse:

ANTES:

  total 10236
  -rw-------   1 jorge    users     1390491 Mar 29 13:44 linux-br.PASTA0
  -rw-------   1 jorge    users     1277260 Mar  9 20:15 linux-br.PASTA1
  -rw-------   1 jorge    users     1332157 Mar 15 01:12 linux-br.PASTA2
  -rw-------   1 jorge    users     1130133 Mar 20 21:50 linux-br.PASTA3
  -rw-------   1 jorge    users     1378842 Mar 25 21:35 linux-br.PASTA4
  -rw-------   1 jorge    users      844667 Mar 29 15:52 linux-br.PASTA5
  -rw-------   1 jorge    users     1035963 Apr  2 23:29 linux-br.PASTA6
  -rw-------   1 jorge    users      974026 Apr  7 23:47 linux-br.PASTA7
  -rw-------   1 jorge    users     1060525 Apr 12 02:43 linux-br.PASTA8

Cada arquivo com aproximadamente 300-500 mensagens e uma demora grande na abertura das folders.

DEPOIS:

  total 5291
  -rw-------   1 jorge    users     1320541 Apr 12 11:04 linux-br.PASTA0
  -rw-------   1 jorge    users     1263503 Apr 12 11:04 linux-br.PASTA1
  -rw-------   1 jorge    users     1183600 Apr 12 11:04 linux-br.PASTA2
  -rw-------   1 jorge    users     1076887 Apr 12 11:04 linux-br.PASTA3
  -rw-------   1 jorge    users      543572 Apr 12 11:04 linux-br.PASTA4

Cada arquivo com aproximadamente 900 mensagens e abertura quase imediata da folder.

(Pasta0 = Pasta0 + Pasta1 antigas, Pasta1 = Pasta2 + Pasta3 antigas...)

    --------------------------- CUT HERE -------------------------- 
  #!/bin/sh
  #
  # Script para retirada de cabecalhos desnecessarios das mensagens de e-mail.
  # Os cabecalhos mantidos sao essenciais:
  #
  # From     --> Inicio da mensagem.
  # Subject: --> Assunto
  # From:    --> Origem da mensagem. Nome/e-mail de quem mandou a mensagem.
  # To:      --> Destinatario (Se nao quiser saber para onde foi a mensagem,
  #              pode ser eliminado).
  # Date:    --> Data do envio da mensagem. Para referencia, apenas. Se
  #              eliminado, o campo referente a data no mailer apresentara'
  #              problemas. No pine aparece --- para o mes e -1 para o dia.
  # Status:  --> Indica se a mensagem original ja' foi lida ou nao e mantem
  #              esse status. Se eliminado, esse cabecalho sera'
  #              automaticamente acrescentado quando a mensagem for visualizada.  
  #
  # Formato de uso: $ limpeza arquivo_origem arquivo_destino
  #
  PATH=/usr/bin
  formail -k -X From -X Subject: -X From: -X To: -X Date: -X Status: -ds < $1 > $2
    -------------------------------- CUT HERE --------------------------------

Permissoes do arquivo:

  -rwxr--r--   1 jorge    users         969 Apr 12 11:01 limpeza*

(desculpem o nome... ;) Estava sem criatividade)

Problemas encontrados:

1. O programa formail reformata as mensagens de acordo com o padrao definido nas RFCs. Quando uma mensagem contem o campo From (sem comentario -- ex:. ">" -- e sem os ":" apos) ele interpretará como o inicio de uma nova mensagem. (Isso pode ser facilmente corrigido editando-se o original da mensagem e inserindo um ">" antes do From). Porcentagem de ocorrencia do erro: 0,07% (5 em 7000)

2. Status de lido ou nao lido nao e' mantido corretamente para algumas mensagens. Acho que isso se deve ao fate de existir um cabecalho X-Status. Em todo caso, a maioria das mensagens segue o padrao. Porcentagem de ocorrencia do erro: 0,29% (20 em 7000)

3. Algumas mensagens mostram o campo From: incorretamente. Nao sei o que causa isso. Desculpem... Aparentemente esta' tudo correto em ambos arquivos. Porcentagem de ocorrencia do erro: 0,04% (3 em 7000)

OBS:. No script, ha' apenas 2 linhas "úteis": a que define o path e a linha de comandos do formail. Se existirem mais de duas linhas, e' devido ao tamanho maximo de colunas suportados pelo mailer.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Jorge Luiz Godoy Filho