Como posso baixar anexos de e-mails por meio do terminal usando o getmail?

5

Eu sei que posso baixar e-mails usando um cliente, mas existe uma maneira de baixar e-mails diretamente do terminal? Eu estou tentando buscar alguns e-mails do meu Gmail para depois fazer algumas análises em determinados e-mails.

EDIT: Obrigado por todas as respostas. No momento, encontrei uma maneira de fazer isso com o getmail. Mas eu encontrei um pequeno problema. Ele baixa os e-mails e anexos, mas imprime tudo em texto. Existe uma maneira de recuperar o dito anexo?

    
por Shelby. S 27.07.2012 / 16:35

3 respostas

3

O Gmail fornece um serviço IMAP através do qual você pode usar qualquer cliente que suporte esse protocolo para buscar seus e-mails. Como esse cliente os disponibiliza no disco pode variar.

De longe, o cliente IMAP de linha de comando mais utilizado deve ser o fetchmail. Você pode instalá-lo facilmente no Ubuntu, depois no google para configurações específicas para usar com o Gmail.

Uma coisa com o fetchmail é que ele gera e-mails do servidor remoto e os canaliza através do seu MTA local. Então, você precisa ter um MTA configurado localmente para que essa configuração funcione. O MTA presumivelmente anexaria os e-mails a / var / mail / $ USER, e você poderá ler este arquivo para fazer o seu processamento.

Outra ferramenta que pode funcionar é offlineimap. Eu não usei isso; a configuração pode ser mais fácil do que com o fetchmail.

Quanto à sua necessidade de salvar anexos incluídos em e-mails, o que você precisa é instalar mpack . Em seguida, execute o comando munpack no arquivo .txt para cada email (sim, aquele que contém todas as ininteligências dos anexos). Ele decodificará e salvará os anexos em arquivos individuais:

$ munpack mail.txt 
Invoice.PDF (application/pdf)
my-picture.png (image/png)
    
por roadmr 27.07.2012 / 16:46
1

(A questão era geralmente acessar e-mail através do terminal, antes que o questionador posasse especificado getmail , mas os anexos são salvos facilmente em Mutt também: veja minha nota abaixo)

Você pode usar o programa Mutt , que está disponível nos repositórios. Eu descobri que Mutt é altamente configurável e bastante simples quando você se acostuma. As instruções a seguir referem-se à configuração de gmail usando os protocolos imap e smtp (certifique-se de que imap esteja ativado nas configurações da conta gmail ).

Demora um pouco para configurar, mas aqui está basicamente a maneira mais rápida de fazer isso:

  • Crie um diretório chamado .mutt e dentro dele crie outro chamado cache
  • Em seguida, crie um arquivo chamado .muttrc para armazenar suas configurações, embora isso não vá na pasta .mutt , mas apenas na sua pasta pessoal. Em seguida, insira as seguintes configurações lá; para a senha que eu deixei "" para que você seja solicitado, como não é uma boa idéia colocar sua senha em um arquivo de texto simples como .muttrc. (Nota: essas configurações são baseadas no artigo Linux Format no Mutt, LXF134, agosto de 2010, pp. 96-97.)

    set from = "[email protected]"
    set realname = "Your Name"
    set imap_user = "[email protected]"
    set imap_pass = ""
    set folder = "imaps://imap.gmail.com:993"
    set spoolfile = "+INBOX"
    set postponed = "+[Gmail]/Drafts"
    set trash = "imaps://imap.gmail.com/[Gmail]/Trash"
    set header_cache=~/.mutt/cache/headers
    set message_cachedir=~/.mutt/cache/bodies
    set smtp_url = "smtp://[email protected]:587/"
    set smtp_pass = ""
    set move = no
    set imap_keepalive = 900
    set sort=threads
    set sort_aux=date
    

Agora, com suas configurações salvas em .muttrc , basta digitar mutt no terminal e digitar sua senha quando solicitado. Eu testei essas configurações e elas funcionam bem; procure outras configurações para personalizar sua experiência em Mutt , pois as macros podem ser usadas com o programa para oferecer funcionalidade extra. Veja o manual do Mutt para este e mais, que também é instalado quando você obtém o programa.

Para abrir anexos , selecione a mensagem com o anexo, press v , selecione o anexo e pressione enter para exibi-lo no seu aplicativo padrão. Para salvar o anexo, em vez de press s , salve e insira um nome de arquivo e um local e pressione enter .

    
por user76204 27.07.2012 / 17:15
0

Você pode usar o OfflineIMAP.

  

OfflineIMAP opera tradicionalmente mantendo uma hierarquia de mensagens   pastas no formato Maildir localmente. Seu próprio leitor de e-mail lerá o e-mail   desta árvore, e nunca precisa saber que a correspondência vem do IMAP.   O OfflineIMAP detectará alterações nas pastas de email em seu IMAP   servidor e seu próprio computador e sincronizá-los bidirecionalmente,   copiando, marcando e excluindo mensagens conforme necessário.

Está no repositório do universo, então talvez seja necessário ativá-lo primeiro e, em seguida, instalar:

offlineimap

    
por ImaginaryRobots 27.07.2012 / 16:58