web-dev-qa-db-ja.com

bashを使用してメールの添付ファイルを抽出/保存する

通常のbashツール(つまり、組み込みツールまたは一般的に利用可能なコマンドラインツール)を使用すると、

  • 可能、そして
  • どうやって

メールの添付ファイルを抽出/保存するには?

たとえば、電子メールで届く夜間レポートがあるが、いくつかのログファイルのZipアーカイブであるとします。これらのすべてのzipをバックアップディレクトリに保存します。どうすればそれを達成できますか?

34
warren

移植性を目指している場合、mail(1)mailx(1)にはいくつかの異なるバージョンがあることに注意してください。 POSIX mailxコマンドがありますが、要件はほとんどありません。とにかく、私が添付ファイルを解析した実装はいずれもありません。

mpack package があるかもしれません。そのmunpackコマンドは、MIMEメッセージのすべての部分を個別のファイルに保存します。その後、必要なのは、関心のある部分を保存して残りをクリーンアップすることだけです。

metamail もあります。 munpackに相当するものはmetamail -wy

この目的に最適なプログラムは、ripMIMEです。

テキストとすべての添付ファイルを抽出します。

https://pldaniels.com/ripmime/

GitHub:inflex/ripMIME

15
Andreas Rehm
  • [〜#〜]はい[〜#〜]可能

  • これは[〜#〜] how [〜#〜]here のリソース)

ファイルを含むディレクトリを見つける|ファイルの読み取り中。行う

tempdirを作成し、そこにファイルをコピーします

ファイルに対してmunpackを実行し、添付ファイルを別の場所にコピーします

tempdir(コンテンツ)を破棄する

終わった

2
subanki