[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 メーリングリストの案内