							-*- Indented-text -*-
# CML Documents.
# Copyright 1993-1998 (C) SAITOH-Ely-Yasuhiro.
# All rights reserved.

管理のコツ
**********

動作確認
========
　まずはテストをしてみましょう。メンバーリストに自分だけを記述し、ＭＬ宛に
メールをだしてみましょう。期待通りの動作をするかどうか確認してください。う
まく動作しない場合、メールを一旦自分宛に出すなどして file に保存し、

	% sh -x cmld ＭＬの名前 < file

などとすると動作が確認できます。

　記事の保存や、自己紹介のファイルは、$MSPOOL/ＭＬの名前/ の下にそれぞれ、 
spool,profileという名前のディレクトリに保存されます。

　アーカイブ機能を利用する場合、通し番号は $MSPOOL/ＭＬの名前/spool/.seq と
いうファイルに入っています。また、記事は、

	$MSPOOL/ＭＬの名前/spool/1000番ごとのディレクトリ/番号

という形態／名前で保存されます。テストが終ってリセットしたい場合はこれらの
ファイルを消して下さい。


自動機能有効時に手動でメンバーを登録する方法
============================================
　メンバーを手動で登録する場合は、以下の手順で登録して下さい。

	１．転送されてきたメールをファイルに保存する（ヘッダごと保存して下
	    さい）。

	２．以下のコマンドを実行する。

		% addusr MLの名前 セーブしたファイル名

なお、メールはヘッダごとセーブして下さい。また、メール１本につき、１つのファ
イルにセーブして下さい。


cmas が用いるメンバーリスト
===========================
　cmas を利用する場合、メンバーリストの中に配送モード、暗証番号などが登録さ
れています。形式は、

	会員番号　配送モード　<アドレス>　暗証番号

もしくは、

	会員番号　配送モード　(アドレス)　暗証番号 <nobody>

になっています。もし、メンバーが暗証番号を忘れてしまった場合、このファイル
の中身を直接書き換えてしまえばＯＫです。ただし、このファイルはメールの宛先
リストも兼ねていますので、修正に関しては充分注意して下さい。


定時配送モードのしくみ
======================
　ＭＬ宛にメールが届いた時、定時配送モードのメンバーがいた場合、cmld は記事
を RFC934 で規定された形式で $DRIVER/$ML/spool/.digest というファイルに溜め
はじめます。また、cmdt が起動されていないか調べ、起動されていなければバック
グラウンドで起動し、その PID を $DRIVER/$ML/cmdt.pid に記録します。

　cmdt は一定時間ごとに配送時刻が来ないか調べ、設定された時刻になれば、メン
バーに対して時間内に溜められた記事を配送します。


cmdt の停止
===========
　killdt コマンドを用いることにより、手動で cmdt を停止することができます。


登録時メールの確認モードのしくみ
================================
　config ファイルで、CONFRM を DO に設定した場合、APPEND 制御メールをいきな
り処理をしません。これは、悪意による他人のアドレス追加を目的とした攻撃に備
えるのが主な目的です。

　このモードが設定されていると、送信者に対して、確認を施すメールを送信しま
す。この時に、キーワードとして任意の４桁の数字と送信依頼のあったメールアド
レスを併せて送信します。発行したキーワードは、$DRIVER/$ML/$ML-confrm という
ファイルに保存されます。中身は、

	キーワード　メールアドレス (発行日時)

になっています。

　このメールを受信したユーザは返信メールに記述の方法に従い、再度登録依頼メー
ルを送信することによりリストに登録されます。


システムシャットダウン時の注意
==============================
　cmld は cmdt を二重起動しないために、起動するか否かを各MLディレクトリに 
cmdt.pid というファイルがあるかないかで決定します。cmdt は終了シグナルを受
信すれば、このファイルを削除して終了します。ただし、SIGKILL で終了させた場
合は、この PID を記録したファイルがうまく削除されないことがわかっており（と
いうか、普通 trap 命令で SIGKILL は拾えない？）、この場合、次回以降の cmdt 
が正しく起動されません。
　システムシャットダウン時にこの状況が発生する可能性がありますので、安全の
ために /etc/rc.local などでシステム立ち上げ時に cmdt.pid ファイルをクリアす
るようにしておくと良いでしょう。
