[PHP-users 22971]Re: メール取り込みの際の排他制御

Masayuki Tadano tadano @ d-product.co.jp
2004年 8月 12日 (木) 09:25:11 JST


ただのと申します。

"kohei-w" <kohei-w @ wd6.so-net.ne.jp> wrote:

> Kohei-wです。
> 
> >.forward で 受け取ったメールを、From:アドレスから判別出来る
> >ユーザーのDBに書き込む っていうのは どうでしょう?
> すいません、「.forward」というのを知りませんでした。
> 今調べて所によると「届いたメールを他のサーバに転送する設定ファイル」ですね。
> すいません、こちらの説明が足りなかったです。

多分堂前さんがおっしゃっているのは、そうではないと思います。
.foward では、プログラムの起動も出来ます。例えば、

"| exec /path/to/nanntoka.php "

と記述しておけば、指定した PHP のプログラムが起動できます。

# MTA によっては、上記の方法は多少異なるとは思いますが、受信時
# にプログラムを起動するようにすることは可能です。Postfix, qmail
# ではやってます。


> 単純にPHPでメールを「受信」して、受信したメールのFromを見て、
> この人は「○○さん」とか、このメールの方はこのDBにとか、その類の話です。
> ですので、今のところ受信ありきです。
> スクリプトの読み込み→メールの受信→DB書き込み の流れの中で、

受信プログラムでは、メールのデータをストリームから読み出すよ
うな感じになりますので、自分で From: などのヘッダ用を元に解析
すれば、良いのではないでしょうか。

> 「スクリプトの読み込み」を多数のユーザーが行った場合の排他制御は、
> どうなるのでしょうか。というのが質問でした。
> 

プログラムの起動のトリガーがメール受信ではなくて、何かの画面か
らボタンを押してとかでしたら、このやり方では少し違うかもしれま
せんが、いわゆる空メールを受けて、メールを返すような処理でした
ら、上記の方法でできるかと思います。
これでしたら、排他制御も関係ない(多分)と思います。


-- 
Masayuki Tadano <tadano @ d-product.co.jp>



PHP-users メーリングリストの案内