Извлечь / сохранить почтовое вложение, используя bash

Используя нормальный bash инструменты (т. е. встроенные или общедоступные инструменты командной строки), это

  • возможно, и
  • как

извлечь / сохранить вложения в письмах?

Например, скажем, у меня есть ночной отчет, который приходит по электронной почте, но представляет собой zip-архив нескольких файлов журнала. Я хочу сохранить все эти почтовые индексы в резервную папку. Как мне это сделать?

3 ответа

Решение

Если вы стремитесь к переносимости, имейте в виду, что есть несколько разных версий mail(1) а также mailx(1), Там есть POSIX mailx команда, но с очень немногими требованиями. И ни одна из реализаций, которые у меня есть, похоже, в любом случае не анализирует вложения

У вас может быть пакет mpack. это munpack Команда сохраняет все части сообщения MIME в отдельных файлах, тогда все, что вам нужно сделать, это сохранить интересные части и очистить остальные.

Там также метапочта. Эквивалент munpack является metamail -wy,

Лучшая программа для этого - ripMIME.

Извлекает текст и все вложения:

https://pldaniels.com/ripmime/

https://github.com/inflex/ripMIME

  • ДА возможно

  • Это КАК (Ресурс отсюда)

найти каталог, содержащий файлы | во время чтения файла; делать

создать tempdir и скопировать туда файл

запустите munpack для файла и скопируйте вложения в другое место

уничтожить темпдир (содержимое)

сделанный

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