POP3を介してメールサーバーに接続し、タイトルで特定のパスワードを見つけて見つけたら、スクリプトを実行したいと思います。
不器用なTelnetスクリプトではなくBASHを使用してこれをどのように達成できますか?
ありがとうございます!
答え1
コマンドラインからPOP3サーバーを照会する一般的なツールは、元のメールをメールサーバーにアーカイブするように指示し、(メールをダウンロードした後にfetchmail
「メンテナンス」オプションまたはメールボックスを空にする)、一般的なメールフィルタを使用することです。スクリプトの実行に使用できます。nokeep
procmail
例.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
*特定の基準に一致するメッセージに対してカスタムプログラム/スクリプトを実行できます
(例:タイトル:正規表現の一致)。