この directory /local2/auto-reply は、

sewanin@rope.ee.uec.ac.jp 

に送られた e-mail を自動認識して処理する program である。

97/12/18 松尾 竜馬君によって作られた。

A. 初期設定と動作の流れ
B. 新しい job の 作り方

を説明する。

A. 初期設定と動作の流れ

(1) /etc/aliases に 以下の file を 登録

sewanin: "|/local2/auto-reply/sewanin"

# /etc/newaliases 

で更新

以下 /local2/auto-reply 上の file を説明します。

(2) sewanin の script では、

start と end に挟まれた部分を切り出して処理する。

job/$JOBNAME で 指定された directory 名に $JOBNAME.job があれ
ば、cd job/$JOBNAME して、処理を続行する。

user list にあるかどうかの check は、$JOBNAME.job の中の
option の 指定により実行が選択される。

〆切を過ぎた job は 手作業で K$JOBNAME.job と頭 に
K を付ける事で 実行を途中で止める事ができる。

sewanin の script は、JOB に依存する部分はない。

(3) $JOBNAME.job の中身

ITEMS: KNAME RNAME IDNUM LABO SUBJECT
USERLIST: NO
CHECKLIST: NO
SUBPRG: testhtml

ITEM で makehtml に変数を引き渡す。
SUBPRG の script が ./job/$JOBNAME にあり、この変数を引き渡す。

以下は もし YES を指定すると

USERLIST: e-mail を送っても良い e-mail が $JOBNAME.lst にある必要がある。
CHECKLIST: e-mail を 一度送ると $JOBNAME.chk から e-mail が削除される。

ここで e-mail といっているのは、sewanin の $BACK という 変数

従って、$JOBNAME.chk 上に残っている人がまだ送っていない人間になる。

(4) $SUBPRG で設定された script によって、

結果を html file 化したり、
replymail2 によって 返事を出したりする。

replaymail2 にいれる メーッセージは complete.mes に入れれば良い。

B. 新しい job の 作り方

新しい job を 作る為には、

 /local2/auto-reply/newjob  を 実行する。

新しい job 名を入れれば終了。

B-1 filename.job の編集

ITEMS から 必要なもののみ取り出す。(これが後の変数になる。)

USERLIST: e-mail を送っても良い e-mail が $JOBNAME.lst にある必要がある。
CHECKLIST: e-mail を 一度送ると $JOBNAME.chk から e-mail が削除される。

もし USERLIST: YES にする場合には、$JOBNAME.lst を作製する。
     CHECKLIST: YES にする場合には、$JOBNAME.chk を作製する。

それぞれ、$JOBNAME.lst, $JOBNAME.chk には e-mail list をいれる。
$JOBNAME.lst は、e-mail が届いても不変(送って良い人を list up する。)
$JOBNAME.chk は、e-mail がまだ送られていない人を list する。
                 送られると e-mail が消去していく。

SUBPRG: makehtml で受信記録を作る。

B-2 受信の返事 complete.mes の作製。