[PHP-users 16624]Re: mail関数を使っての時間設定
SAWAI-Syusuke
teto @ sa-y.com
2003年 7月 10日 (木) 16:37:26 JST
さわいです。
> From: SAWAI-Syusuke <teto @ sa-y.com>
> Subject: [PHP-users 16620] Re: mail関数を使っての時間設定
> Date: Thu, 10 Jul 2003 15:58:13 +0900
> Message-ID: <200307101558.HBC79539.UPFU @ sa-y.com>
>
> teto> > サーバーに相手からのメールが届いて1時間後と2日後に送ってきた相手に同じ
> teto> > サーバーからメールを送信したいと思います。
> teto> > メール送信はmail関数でいいのですが、そもそも時間設定で送信は出来るのでし
> teto> > ょうか?PHPでの処理でできるのか、わかりません。
> teto> > SMTPで行ないたいと思っています。
>
> teto> ぱっとおもいつくのは
> teto> 1)いわゆる /etc/aliases等の:include:構文 で CLI版のPHPを 起動する。
>
> :include: <full path> だと <full path> で指定されたファイルを include するだけな
> ので、コマンドの実行はできないんじゃないですか?
そうでしたそうでした。
:include: つかうのは そのユーザ権限で動かすために 使ってたようなきがしました。
|/full/path/command だったような、、、まぁ
> aliases からコマンドを実行させたいなら、単純に <full path> を書く文法ですね。
> ただ、まあ、これって相当昔からやってはいけない筆頭です。
> 悪意の誰かがそのメイルアドレスにメイルを 100 万通投げれば、100 万回実行されちゃ
> うですね。
ですね。 でも それは POPにしようが、 100万通送られれば・・・
(リソースの消費はちいさいですね。)
メールからの キックって aliases からコマンドを実行する以外は
cronで実行するしかないと思いますが、、、他にありますか?
常駐させておいて 一定時間間隔で POPするとか は あるかな。・・
まぁ、小林さんのところのメールサーバの条件次第ですね。
> teto> 2)標準入力からメールを読み込みメールアドレスを抽出する。
>
> これはそうなんだと思いますが、
>
> teto> 3)1時間スリープする。( void sleep (int sec) を使う sec=3600に しておけば1時間)
>
> なんてことをすると、sleep プロセスが沢山たまるので、ちょっと怖いですね。
> 低トラフィックな状況ならなんとかなるでしょうけれど。
>
> そうではなくて、2)の直後に
>
> 3') 一時間後に送るメイルを組み立てて at(1) に登録する。
> あとは、OS が勝手に仕事してくれる。
>
> 同様に、5)ではなくて2)の直後に
>
> 5') 二日後に送るメイルを組み立てて at(1) に登録する。
> あとは、OS が勝手に仕事してくれる。
>
> でどうでしょう。
そっちのほうが スマートですね。
> # Windows 系に at があるのかどうかは不勉強で知りません。
ありますよ at/? って やれば でてきます。
unix とおなじかは 使ってないので なんとも・・・
まぁ、 あとは 質問された小林さんの腕次第っと・・・
PHP-users メーリングリストの案内