サーバー

メール受信と同時にCGIを実行

2011年06月01日
以前からあったほうがいいのかなと思っていた、【ビジネス羅針盤 ステップメール】への空メール登録へ対応してみることにしました。
空メールだけでなく、本文に姓名が書いてあれば、名前も登録されるようにしたいと思います。

これを実現するためには、メールを受信したらCGIを実行する、という設定がサーバーに必要になります。
この設定ができるものに、【aliases】、【procmail】、【.forward】ファイルがあるようです。
レンタルサーバーで一番使われているのが、【.forward】ファイルのようなので、ここでは【.forward】ファイルで試してみることにします。
しかしサーバーによっては、セキュリティ上設定を許可していないものもあるようです。

設定は簡単で、
【"| phpのパス -q 実行したいCGIのパス"】
となります。

【"| /usr/local/bin/php -q /usr/home/xxx/yyy/run.php"】
のようになります。
ご自分のサーバーの環境に合わせてパスは変更してください。
これでメール受信と同時に【run.php】が実行されます。

【.forward】ファイルはメールの転送を設定するファイルですが、転送先にCGIファイルを指定すると、プログラムを実行できるようになります。

【.forward】で転送を設定する場合は、無限転送にならないように十分注意してください。永遠にメールが転送され続け、サーバーに無駄で過大な負荷がかかることになります。