29

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

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

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

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

3 ответа3

28

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

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

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

11

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

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

https://pldaniels.com/ripmime/

GitHub: inflex/ripMIME

2
  • ДА возможно

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

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

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

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

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

сделанный

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .