あなたの習慣について教えてください!!

自分が管理しているサーバー上(Linux)で
あるメールアカウント(メールサーバー?)にメールが送られた時に
Perlスクリプトの処理を行いたいと思っています。

スクリプトの処理は
メールのSubjectと送付物(テキストファイル)の中身を読み取るだけです。

よくわからないので、ネットで検索してみると
Net::POP3
というモジュールを使うのかな、と思っていたのですが
これは、メールボックス (SMTP サーバの中のファイル) を
自宅のPCに転送する時に使用するもののようで、
自分が行いたい事と違うのかな、と。

あるメールアカウントにメールが送られた時に
Perlスクリプトを処理をさせる設定をし

# ヘッダの取得
while(<>){
   chomp;
   last if(/^$/); # ヘッダ終了、ループを抜ける
   if(/^(.*): (.*)/){ # 通常のヘッダ
     ($headerType,$headerBody) = ($1,$2);
     $HEADER{$headerType} = $headerBody;
   }
   if(/^\s+(.*)/){ # 空白やタブ開始=ヘッダの続き行
     $headerBody = $1;
     $HEADER{$headerType} .= $headerBody;
   }
}

# Subject フィールドをチェック
if($HEADER{'Subject'} =~ /^sc$/){
・・・
}

というような書き方で、POP3等を使用せずに
メールを受け取った瞬間にそのメールの内容を読み取れると
とあるサイトの文献にあったのですが、
これはどのように設定すれば可能なのでしょうか?
また、これはPOPを使用しない場合と違って、どのような原理なのでしょうか?

A 回答 (1件)

sendmailを使っている場合、aliases ファイルに、


aaa: "|/usr/local/bin/filter-aaa"
と書いて、newaliase を実行すると、aaa に送られたメールがfilter-aaa の標準入力に渡されるようになります。詳しくは、man aliases で。
aliasesファイルの場所は設定によって違うので探してください。
postfixやqmail等他のメール転送ソフトの場合は多少違うかもしれません。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

自分が知りたかったのはまさにこの情報でした。
貴重な情報ありがとうございました。

お礼日時:2004/03/03 12:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!