アプリ版:「スタンプのみでお礼する」機能のリリースについて

phpを勉強中です。
phpは、クライアントからのリクエストで起動されると思いますが、そうではなく、受信メールを自動監視して、メールを受信したら、自動的に返信する、というシステムを作りたいのですが、

受信メールを監視するというループは、どうやって起動すればいいでしょうか。(画面のないプログラム)
よろしくお願いします。

A 回答 (2件)

MAT(メール配送システム)に何を使ってるかわかりませんが、例えばqmailを使っていた場合、


.qmailファイル(ドットqmail)の利用でメール受信時に指定したアクションを起こすことができます。
postfixなら.forwardファイルです。

これらのファイルにあらかじめ作成したPHPプログラムを絶対パスで指定しておくと、
メール受信時にPHPプログラムを起動させることができます。
監視ではなく、受信によりプログラムキックされるということです。

PHPの起動は
/usr/local/bin/php -f /home/xxx/xxx.php
と、コマンド起動形式で記述です。

送信元アドレス、本文などの情報は環境変数や標準入力で取得できます。
.qmail、.forwardへの記述方法は調べてください。

PHPならばパーミッションは実行可能形式にする必要はありません。

但しこれらの方法は恐らく「サーバーのルート権限」がないとできないと思われます。
(レンタルサーバーであれば厳しいかも、です)

となると#1の方が言うようにPOPサーバーに接続しメールデータを
ソケットで受信するPGを作成、crontabを利用して定期的に起動させる、
とういう方法しかないでしょうね。

設定にはシェルの利用が不可欠ですし、レンタルサーバーなら1分間
に何回もPHPを起動させると怒られるかもしれません・・・
    • good
    • 0
この回答へのお礼

ありがとうございました。
検討の方向性はわかりました。
(私のスキルでできるかはわかりませんが)
トライしてみます。

お礼日時:2007/12/12 00:49

定期的に何かを監視するなら、cronを使うのが楽だと思います。



cron もしくは crontab で検索して情報を探すと良いと思います。

もしかしたらWebブラウザからPHPを動かす形式しか使っていないのかな
という印象を受けましたがが、
phpでも「php xxx.php」と言う形でコマンドラインから実行出来ますし、
スクリプトの先頭行に #!/usr/bin/php のような物を置いて、
chmod a+xする、という方法で
シェルスクリプトの様な動かし方も出来ます。

いろいろハードルはあると思いますが、がんばってください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
検討の方向性はわかりました。
(私のスキルでできるかはわかりませんが)
トライしてみます。

お礼日時:2007/12/12 00:51

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