Extrahieren / Speichern eines E-Mail-Anhangs mit bash


30

Verwenden Sie normale bashTools (dh integrierte oder allgemein verfügbare Befehlszeilentools)

  • möglich, und
  • Wie

E-Mail-Anhänge extrahieren / speichern?

Angenommen, ich habe einen nächtlichen Bericht, der per E-Mail eingeht, aber ein ZIP-Archiv mit mehreren Protokolldateien ist. Ich möchte alle diese Reißverschlüsse in einem Sicherungsverzeichnis speichern. Wie würde ich das erreichen?


"Normale Bash-Tools" - Verwenden Sie nur die in Bash integrierten Funktionen (dh die Funktionen, die Sie in der Bash-Manpage finden) oder allgemein Befehlszeilen-Tools, die Sie einem Bash-Shell-Skript hinzufügen können ?
Doug Harris

@ Doug Harris - entweder .. wenn ich anrufen mailund dies tun kann, oder den Anhang anderweitig speichern, ist das auch in Ordnung :)
warren

Antworten:


29

Wenn Sie Portabilität anstreben, beachten Sie, dass es verschiedene Versionen von mail(1)und gibt mailx(1). Es gibt einen POSIX- mailxBefehl, der jedoch nur sehr wenige Anforderungen erfüllt. Und keine der Implementierungen, die ich je gesehen habe, scheint Anhänge zu analysieren.

Möglicherweise haben Sie das mpack-Paket . Mit diesem munpackBefehl werden alle Teile einer MIME-Nachricht in separaten Dateien gespeichert. Anschließend müssen Sie nur die interessanten Teile speichern und den Rest bereinigen.

Es gibt auch eine Metamail . Ein Äquivalent von munpackist metamail -wy.


Um das hinzuzufügen, wenn Sie auch den Text MIME-Teile der E-Mail extrahieren möchten, munpackverwenden Sie die Option '-t':munpack -t email_file
Pierz

Danke für die Info über metamail. Können Sie mir bitte bei dieser Frage weiterhelfen ?
George


2
  • JA möglich

  • Dies ist WIE (Ressource von hier )

finde Verzeichnis mit Dateien | während die Datei gelesen wird; machen

erstelle tempdir und kopiere die datei dorthin

führe munpack auf file aus und kopiere die anhänge an eine andere stelle

zerstöre tempdir (Inhalt)

getan


Wenn jemand möchte, dass ich das Perl-Skript hier
einfüge,

1
wenn du so nett wärst (offensichtlich hinterlässt du die Zuordnung, wo du es gefunden hast :))
warren

1
Lies einfach das Drehbuch ... das ist eine Menge Perl!
Warren

Sie sind sicher, dass ich das in meine Antwort aufnehmen soll, es wird sehr lang werden.
Subanki

Hier nicht einfügen, in diesem Fall wäre es besser, von der Originalquelle zu kopieren :)
warren
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.