次の問題を解決するための正しい手順を理解するのに役立ちます。
毎日、受信トレイにPDF添付ファイルとして電子メールでレポートを受け取ります。同じ件名、同じメールアドレスからのものです。 fetchmail / getmailなどのユーティリティを使用して受信トレイに入り、件名と送信者を一致させ、添付ファイルを特定のファイルにダウンロードできるようにしたいです。
以下に必要な手順を決定するのに役立ちます。
- 私の受信トレイに接続
- 件名行と送信者行のスキャン
- 電子メールから添付ファイルをダウンロードする
- 受信トレイから削除
- 処理されたレポートを新しい人に送信します。
私は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
でスクリプトを使用していくつかのことを実行できます。openssl
https://delog.wordpress.com/2011/05/10/access-imap-server-from-the-command-line-using-openssl/
SSL 経由の IMAP を使用してメールボックスにアクセスし、特定のメールのヘッダーを取得します。同じことを行う必要があります。ただし、特別なヘッダーを含む電子メールを選択してインデックスを作成し、添付ファイルの部分をファイルに抽出するだけです。
正確なスクリプトは、そのexpect
セクションを含む約8つのIMAPコマンドです。特にFETCHコマンドのバリエーションについてはRFC3501を参照してください。