você está aqui: Home  → Arquivo de Mensagens

Extração automática de anexos de mensagens

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 17 de Janeiro de 2008

Eu recebo muitas mensagens com anexos, que me são enviadas por amigos. Como não são urgentes, eu geralmente as salvo em uma pasta separada, para ver mais tarde. Estas mensagens não contêm texto algum, apenas o anexo. Desta forma, eu tentei descobrir uma solução que me permitisse extrair diretamente os anexos, sem precisar entrar em cada uma das mensagens.

Pesquisando na internet eu descobri o programa mimeStrip.pl que é na verdade um script escrito em perl.

O objetivo do autor ao escrever o script, foi economizar espaço em disco, removendo, das pastas de email desejadas, todos os anexos.

Em uma pasta de testes, após rodar o programa, eu tive os seguintes resultados:

  -rw-r--r-- 1 queiroz queiroz 204M 2008-01-16 09:09 teste.antes
  -rw-r--r-- 1 queiroz queiroz  25M 2008-01-16 09:19 teste.depois

A redução é enorme (204 MB para 25 MB)

Para ver quais opções o programa oferece, digite mimeStrip.pl --h:

  mimeStrip.pl ver. 0.8 Copyleft 2003, Steeve McCauley
  
   Usage is: mimeStrip.pl --in folder --out folder.out --dir output-directory
  
     --in   input folder (default: stdin )
     --out  output folder (default: stdout)
     --swap rename in folder to out, and vice versa
     --dir  directory for decoded attachments (default: current)
     --cat  concatonate output to output folder (default: truncate)
     --help this help message
  
     Example,
  
        mimeStrip.pl --dir=~user/Mail/mime < user > user.stripped

A opção --out especifica onde será gravado o novo folder, já sem os anexos.

No meu caso, eu estou interessado apenas em salvar os anexos. O comando que uso é:

  $ mimeStrip.pl --in mensagens --out /dev/null

Como eu não quero gravar uma nova pasta, eu direciono a saída para o dispositivo /dev/null, o buraco negro de sistemas Unix (tudo que vai para lá some).

Ao final da execução, o diretório corrente (eu não especifiquei a opção --dir), contém todos os anexos das mensagens da pasta. Os nomes frequentemente são meio estranhos, mas você pode arrumá-los de uma forma bem conveniente com o utilitário zzarrumanome, que é uma função do pacote funções zz, de autoria do Aurélio Marinho Jargas.

Um exemplo prático, algum tempo atrás, eu usei esta facilidade para extrair de uma pasta, os currículos enviados por candidatos a estágio no local onde trabalho. Uma mão na roda.

Finalmente, se o projeto no freshmeat sumir, faça o download do script diretamente do site da Dicas-L.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Josue Soares
11 Fev 2011, 15:17
Estava precisando muito deste recurso, mas não funcionou de jeito algum.

Estou usando o cyrus como MDA e as mensagens estão no formato padrão do cyrus (MAILDIR).

Alguma idéia?
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script