スクリプトヘルプ - /var/spool/mail/user を解析する

スクリプトヘルプ - /var/spool/mail/user を解析する

CentOS 5.x | メール送信

こんにちは、みんな、

/var/spool/mail/ から個々のメッセージを取得する簡単な方法はありますか? 非常にシンプルなスクリプトのアイデアがあり、個々のメッセージをチェックして何かを確認したいと考えています。

シナリオは次のようになります。

1) 新しいメールが受信トレイに到着します。2) スクリプトは特定の文字列をチェックします。3) 文字列が見つかった場合、スクリプトはさまざまなヘッダー情報を取得し、その情報をアドレスにメールで送信します。

おそらく milter が最適な方法であることはわかっていますが、シェル スクリプトでこれを行う方法を見つけたいと思っていました。シェル スクリプトを練習したいからです。問題は、個々のメッセージを解析または分離する方法が見つからないことです。/var/spool/mail/ を調べると、複数のメッセージを含む大きなファイルがあり、メッセージ間に一意の区切り文字がありません。

答え1

単純なシェルスクリプトを除けば、ほぼすべてのプログラミング言語には、mボックスフォーマットされたメールボックス。

もちろん、探してみると、POP3 や IMAP クライアント ライブラリもたくさん見つかります。

次のようなものも使えるはずですプロックメールまたはメールドロップメッセージをフィルタリングします。

答え2

従来は、メールを受信したときに procmail などの MDA を使用してこのような処理を行っていました。すでにメールボックスをお持ちの場合は、procmail にはformail(1) が付属しており、メールボックス内の各メールに対してプログラムを実行でき、ヘッダーをフィルタリングして書き換える機能があります。

関連情報