BASHを使用したリモートPOP3メールサーバーのクエリ

BASHを使用したリモートPOP3メールサーバーのクエリ

POP3を介してメールサーバーに接続し、タイトルで特定のパスワードを見つけて見つけたら、スクリプトを実行したいと思います。

不器用なTelnetスクリプトではなくBASHを使用してこれをどのように達成できますか?

ありがとうございます!

答え1

コマンドラインからPOP3サーバーを照会する一般的なツールは、元のメールをメールサーバーにアーカイブするように指示し、(メールをダウンロードした後にfetchmail「メンテナンス」オプションまたはメールボックスを空にする)、一般的なメールフィルタを使用することです。スクリプトの実行に使用できます。nokeepprocmail

.fetchmailrcは次のとおりです。

poll pop.example.com with proto pop3:
        user "username.on.example" there has password "S3cr3t"
        is herman here and wants ssl nokeep 
        mda "/usr/bin/procmail -t /home/herman/.procmailrc.pop.example.com"

.procmailrc.pop.example.comファイルには、スクリプトをトリガーする特定のトピックの縮小一致ルールが含まれています。通常、スクリプトは実際に電子メールに対していくつかの操作を実行するため、メッセージ全体がSTDINとしてスクリプトに渡されます。

:0
^Subject: passphrase
| /home/herman/bin/script

答え2

使用fetchmailしてprocmailプログラムできます。

fetchmail
* POP3サーバーから削除されたかどうかにかかわらず、新しいPOP3メッセージをダウンロードできます
。 *ダウンロードしたメッセージを別のプログラム(procmail)stdinに転送できます(--mdaオプションを参照)。

procmail
*特定の基準に一致するメッセージに対してカスタムプログラム/スクリプトを実行できます
(例:タイトル:正規表現の一致)。

関連情報