空メール受信時に .forward を使って Perl や PHP スクリプトを起動する方法

メール受信時にアクションを起こす必要があります。方法としては ~/.forward を使います。他にもいろいろ方法があるのですが、個人的にはこれが一番楽そうです。ちなみに .forward はメールの転送などを行う際に使うもので、以下のように書くとそこにメールが飛ぶそうです。

1
2
test@test.com
test2@test2.com

このファイルに以下のように書くことで perl スクリプトを実行することができます。これについてはメール受信時に perl スクリプトを起動して自動処理させる方法が参考になりました。

1
"|exec /home/path/to/run.pl"

PHP でも実行できるようです。CRONを利用せずに空メールシステムを実現する方法 (PHP版 : .forwardを使う)が参考になりました。

1
| /path/to/script/mail_receive.php

また BlueQuartz 系統のサーバー管理ツールを使っている場合は /etc/smrsh というディレクトリにシンボリックリンクを作って .forward を起動する必要があるようです。NuOnce BlueQuartz:.forward内のスクリプトが実行できないが参考になりました。

1
# ln -s スクリプト名(フルパス) /etc/smrsh/スクリプト名

分からないことだらけでしたが、まったく新しいことだったのでメモしておきます。これを基盤に新サービスを作ることができそうです。

コメント

コメントは受け付けていません。