コマンドラインを使用して受信トレイから添付ファイルをダウンロードします。

コマンドラインを使用して受信トレイから添付ファイルをダウンロードします。

次の問題を解決するための正しい手順を理解するのに役立ちます。

毎日、受信トレイにPDF添付ファイルとして電子メールでレポートを受け取ります。同じ件名、同じメールアドレスからのものです。 fetchmail / getmailなどのユーティリティを使用して受信トレイに入り、件名と送信者を一致させ、添付ファイルを特定のファイルにダウンロードできるようにしたいです。

以下に必要な手順を決定するのに役立ちます。

  1. 私の受信トレイに接続
  2. 件名行と送信者行のスキャン
  3. 電子メールから添付ファイルをダウンロードする
  4. 受信トレイから削除
  5. 処理されたレポートを新しい人に送信します。

私はCentOS7を実行していますが、どのLinuxでもこれを行うことができます。また、これを行うには、PythonやRubyの代わりにコマンドラインユーティリティを使用したいと思います。

追加情報:

  • 私の電子メールはLANのサーバーに保存されます。
  • ここではIMAPを使いたいと思います(メールはサーバーに保管して添付ファイルのみダウンロードしたいです)
  • 添付ファイルを表示する必要はなく、ディレクトリにダウンロードするだけです。

この質問で皆さんを悩ませて申し訳ありません。しかし、私がこれについて調べた結果、パズルのピースを合わせることができないようです。追加情報が必要な場合はお知らせください。

答え1

私が提案する愚か。 mutt、procmail、fetchmailをインストールしてください。デフォルトでは、メールはここに保存されます$HOME/Mail/(メールディレクトリ、作成)。助けるmuttでGmailを設定する。設定メールを受け取るプログラムメール添付ファイルディレクトリの作成

$HOME/.procmailrcに追加してください。

ATTACH=`echo $HOME/Mail/Attachments`
:0 c
* ^To:.*[email protected]
* ^From.*[email protected]
* ^Subject.*SUBJECTNAME
| munpack -q -C $ATTACH

$ATTACHディレクトリには、フィルタリングされた添付ファイル(作成済み)が含まれます。SUBJECTNAME、、、Toを指定しますFrom

答え2

DIYについてより深く知りたい場合は、かなり明確で簡単な指示を含むプロセスexpectでスクリプトを使用していくつかのことを実行できます。opensslhttps://delog.wordpress.com/2011/05/10/access-imap-server-from-the-command-line-using-openssl/

SSL 経由の IMAP を使用してメールボックスにアクセスし、特定のメールのヘッダーを取得します。同じことを行う必要があります。ただし、特別なヘッダーを含む電子メールを選択してインデックスを作成し、添付ファイルの部分をファイルに抽出するだけです。

正確なスクリプトは、そのexpectセクションを含む約8つのIMAPコマンドです。特にFETCHコマンドのバリエーションについてはRFC3501を参照してください。

関連情報