Wyodrębnij / zapisz załącznik mailowy za pomocą bash


30

Używanie zwykłych bashnarzędzi (tj. Wbudowanych lub powszechnie dostępnych narzędzi wiersza poleceń)

  • możliwe i
  • w jaki sposób

wyodrębnić / zapisać załączniki w wiadomościach e-mail?

Powiedzmy na przykład, że mam raport nocny, który przychodzi pocztą elektroniczną, ale jest archiwum zip kilku plików dziennika. Chcę zapisać wszystkie te zamki w katalogu kopii zapasowej. Jak mam to osiągnąć?


„normalne narzędzia bash” - czy masz na myśli używanie tylko funkcji wbudowanych w bash (tj. tego, co znajdziesz na stronie podręcznika bash), czy ogólnie mówiąc, masz na myśli narzędzia wiersza poleceń, które możesz dodać do skryptu powłoki bash ?
Doug Harris,

@Doug Harris - albo .. jeśli mogę zadzwonić maili zrobić to, albo zapisać załącznik inaczej, to też jest w porządku :)
warren

Odpowiedzi:


29

Jeśli zależy Ci na przenośności, strzeż się, że istnieje kilka różnych wersji mail(1)i mailx(1). Istnieje mailxpolecenie POSIX , ale z bardzo niewielkimi wymaganiami. Zresztą żadna z implementacji, które wydaje mi się nie analizować załączników.

Możesz mieć pakiet mpack . Jego munpackpolecenie zapisuje wszystkie części wiadomości MIME w osobnych plikach, a następnie wystarczy zapisać ciekawe części i posprzątać resztę.

Jest też metamail . Odpowiednikiem munpackjest metamail -wy.


Ponadto, aby dodać, że jeśli chcesz również wyodrębnić fragmenty MIME wiadomości e-mail podczas korzystania, munpackużyj opcji „-t”:munpack -t email_file
Pierz

Dzięki za informację o metamail. Czy możesz mi pomóc z tym pytaniem ?
George


2
  • TAK możliwe

  • To jest JAK (Zasób stąd )

znajdź katalog zawierający pliki | podczas odczytu pliku; robić

utwórz tempdir i skopiuj tam plik

uruchom munpack na plikach i skopiuj załączniki w innym miejscu

zniszcz tempdir (zawartość)

gotowy


Jeśli ktoś chce, żebym
wkleił

1
jeśli byłbyś tak miły (oczywiście pozostawiając przypisywanie miejsca, w którym go znalazłeś :))
warren

1
po prostu przeczytaj skrypt ... to hec! Dużo perla!
warren

więc jesteś pewien, że chcesz, żebym włączyła to do mojej odpowiedzi, będzie ona bardzo długa.
subanki

nie wklejaj tutaj, kopiowanie z oryginalnego źródła byłoby lepsze w tym przypadku :)
warren
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.