メールを受信してCGIを起動させるには?

[上に] [前に] [次に]
GOW [E-Mail] [HomePage] 1999/04/19(月) 15:26:25
メールサーバがメール受信してメールの内容をCGIで読みとらせて、
処理を実行したいのですが、どうすればよいのでしょうか?

B-Cus 1999/04/19(月) 16:16:19
メールが届いたらあるプログラムを起動して…がしたいなら、
.forward にちょいちょいと書いておいて、そこからプログラム
を実行させればいいです。man forward。
# これをCGIとは言わない。だってweb経由で起動されないもん。

一定時間ごとに(例えば数分単位)プログラムを起動して、メールが
届いているかどうかチェックして…がしたいなら、cronに登録して
おけばいいです。man crontab。
# これもCGIとは言わない。だってweb経由で起動されないもん。

はっきり言って、この回答+manの記述で「ああなるほど」と
思えなければ、あきらめた方がいいかもしれません。

また、.forward や cron を使用不可にしているホストも多い
でしょうから、もし禁止されていたら、これもあきらめた方が
いいでしょう。

ところで、
 http://www.ath.pos.to/fl/unit/searchForm.js
のMIME typeの設定がおかしくないですか?(ここらへんは詳しい人に
おまかせしますが) リンク先に飛ぶと、このファイルがplain text
として表示されてしまいます(Solaris2.6+NN3.04)。

GOW [E-Mail] [HomePage] 1999/04/19(月) 17:21:30
早速のお返事ありがとうございます。どうも、よくわかりません。。(^^;
しかし、なんとかこの山はクリアーしたいので、オススメ図書などありましたら
教えていただけないでしょうか?

B-Cus 1999/04/20(火) 23:24:41
ホームディレクトリの下に .forward というファイルを作り、
"|exec /home/user/script"
と書いて、chmod 644 .forward。

これでメールが届くと /home/user/script が実行されるように
なります(管理者がそう設定していれば)。

/home/user/script は標準入力から届いたメールが流れてきますので、
 #!/usr/local/bin/perl
 while (<STDIN>){
  ..やりたい処理..
 }
などと書けばいいでしょう。ただし、同時にメールが届くと
同時にプロセスが実行されますので、その場合自前で排他処理が
必要です。できれば procmail などと組み合わせるといいでしょう。
# procmail がどういうものかは検索してみてください。

> オススメ図書

うーん、UNIX一般かなぁ…。

羽崎 1999/04/21(水) 01:29:06
話の途中すみません。
いつもお世話になってます>B-Cusさん

>.forward や cron を使用不可にしているホストも多い

使用不可かどうか知るには、実際に使ってみて使えなかったら
「使えないんだ」とわかる方法以外に、使えないことがわかる方法は
ありますか?(私、UNIXそれほどわかっていないのでできたらお答え
お願いします)
プロバイダのUNIXマシン(UNIX(r) System V Release 4.0)
でやる方法でなにか注意する点もあったら併せてご教授ください。

B-Cus 1999/04/21(水) 04:18:01
一般論としては何も言えません。

cronの実装はOSによっても違うでしょうし、sendmail以外にもMTAは
一杯あります。また、一般ユーザがログイン可能なサーバと、メール
サーバを分けてるところも多いでしょうから
 「/etc/... を見ればわかる」
とも言い切れません。試すこと自体はそんなに難しいことではないので、
とりあえず実験してみるのがいいかと思われます。

あ、一番いい方法は管理者に問い(以下略)。

ん〜、お役に立てなかったようで…(^^;

# でもまぁ、パーミッション的に /usr/bin/crontab が実行可能なら
# (r-sr-x---とかじゃなかったら) cronは使えると思う。

gama [E-Mail] [HomePage] 1999/04/21(水) 04:21:43
メーリングリストの設置方法の解説が参考になると思いますが、いがかでしょう。

http://yamanoya.ecs.cst.nihon-u.ac.jp/patio/ml/makeml/mllinks.html
このあたりから、いかがでしょうか?

プロバイダーでのサーバーで設置するのは、けっこう、むずかしいと思います。

rimnet は、設置できます。

プロバイダー自身からは、まったくアナウンスがなくても使えるケースもあります。

羽崎 1999/04/25(日) 20:43:45
リプライ感謝します。

メールとの連動で便利そうなので、利用させていただきます。

>あ、一番いい方法は管理者に問い(以下略)。

なるほど、その手をすっかり忘れていました(^^;

>ん〜、お役に立てなかったようで…(^^;
いえいえ。ありがとうございます。

# でもまぁ、パーミッション的に /usr/bin/crontab が実行可能なら
# (r-sr-x---とかじゃなかったら) cronは使えると思う。
実行したところ使えるようでした。

>メーリングリストの設置方法の解説が参考になると思いますが、
>いがかでしょう。

MLの設置は未経験ですので、参考にさせていただきます。

[上に] [前に] [次に]