Как я могу скачать вложения из электронных писем через терминал, используя getmail?

Я знаю, что могу загружать электронную почту с помощью клиента, но есть ли способ загрузить электронную почту прямо из терминала? Я пытаюсь получить несколько писем из своего почтового ящика, чтобы позже провести анализ некоторых писем.

РЕДАКТИРОВАТЬ: Спасибо за все ответы. Прямо сейчас я нашел способ сделать это с помощью getmail. Но я столкнулся с небольшой проблемой. Он загружает электронные письма и вложения, но печатает все в тексте. Есть ли способ на самом деле получить указанное вложение?

6
задан 27 July 2012 в 19:10

3 ответа

Gmail предоставляет службу IMAP, с помощью которой вы можете использовать любой клиент, поддерживающий этот протокол, для получения ваших электронных писем. То, как этот клиент делает их доступными на диске, может отличаться.

На сегодняшний день наиболее широко используемым клиентом командной строки IMAP должна быть fetchmail. Вы можете легко установить его в Ubuntu, а затем в Google для конкретных конфигураций для использования с Gmail.

Одна вещь, связанная с fetchmail, заключается в том, что она отбирает электронную почту с удаленного сервера, а затем передает ее через локальный MTA. Таким образом, вам нужно иметь локально настроенный адаптер MTA для этой настройки для работы. Предположительно, MTA добавит электронные письма в / var / mail / $ USER, и вы сможете прочитать этот файл для обработки.

Еще одним инструментом, который может работать, является offlineimap. Я не использовал это; установка может быть проще, чем с fetchmail.

Что касается необходимости сохранять вложения, включенные в электронные письма, вам нужно установить mpack. Затем выполните команду munpack в файле .txt для каждого электронного письма (да, того, которое содержит все тарабарщины из вложений). Он будет декодировать и сохранять вложения в отдельных файлах:

$ munpack mail.txt 
Invoice.PDF (application/pdf)
my-picture.png (image/png)
0
ответ дан 27 July 2012 в 19:10

Вы можете использовать OfflineIMAP.

OfflineIMAP традиционно работает, поддерживая иерархию почтовых папок в формате Maildir локально. Ваш собственный почтовый ридер будет читать почту из этого дерева, и вам никогда не нужно будет знать, что почта приходит из IMAP. OfflineIMAP обнаружит изменения в почтовых папках на вашем IMAP-сервере и вашем компьютере и двунаправленно синхронизирует их, копируя, помечая и удаляя сообщения по мере необходимости.

Он находится в репозитории юниверсов, поэтому вам может понадобиться сначала включить его, а затем установить:

offlineimap

0
ответ дан 27 July 2012 в 19:10

(Вопрос касался общего доступа к электронной почте через терминал, прежде чем задающий вопрос задал getmail, но вложения также легко сохраняются в Mutt: см. Мое примечание ниже)

Вы можете использовать программа Mutt, которая доступна в репозиториях. Я обнаружил, что Mutt легко настраивается и довольно прост, когда вы к нему привыкнете. Следующие инструкции относятся к настройке gmail с использованием протоколов imap и smtp (убедитесь, что imap включено в настройках учетной записи gmail).

Это займет немного времени для настройки, но вот в основном самый быстрый способ сделать это:

  • Создайте каталог с именем .mutt и в нем создайте еще один каталог с именем cache
  • ]
  • Затем создайте файл с именем .muttrc для хранения ваших настроек, хотя это происходит не в папке .mutt, а только в вашей домашней папке. Затем введите следующие настройки там; для пароля я оставил его "", чтобы вы получили приглашение, так как не рекомендуется помещать ваш пароль в простой текстовый файл, например .muttrc. (Примечание: эти настройки основаны на статье о формате Linux на Mutt, LXF134, август 2010 г., стр. 96-97.)

    set from = "username@gmail.com"
    set realname = "Your Name"
    set imap_user = "username@gmail.com"
    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://username@smtp.gmail.com:587/"
    set smtp_pass = ""
    set move = no
    set imap_keepalive = 900
    set sort=threads
    set sort_aux=date
    

Теперь, когда ваши настройки сохранены в .muttrc, просто введите mutt в терминале и введите свой пароль, когда ответ на запрос. Я проверил эти настройки, и они работают нормально; поищите больше настроек, чтобы настроить свой Mutt опыт, так как макросы могут использоваться с программой для придания ей дополнительной функциональности. См. руководство по Mutt для этого и более, которое также устанавливается, когда вы получаете программу.

Чтобы открыть вложения , выберите сообщение с вложением, press v, выберите вложение и нажмите enter, чтобы просмотреть его в приложении по умолчанию. Чтобы сохранить вложение, вместо press s сохраните и введите имя и местоположение файла и нажмите enter.

Here's a screenshot of Mutt

0
ответ дан 27 July 2012 в 19:10

Другие вопросы по тегам:

Похожие вопросы: