[PREVIOUS CHAPTER] [NEXT CHAPTER]
7 アドレス関係

7.1	コマンドコントロール専用のアドレス
../MTA 5.1

makefml が作るデフォールトの config.ph では

	$CONTROL_ADDRESS = "Elena-ctl\@$DOMAINNAME";

のように設定されています。
注意: この変数はFMLにどのアドレスを使っているかを知らせるためのもので
この変数がOSの挙動を変えているわけではありません。ヘッダなどの表示にも
使われています。

見本では コマンド専用の Elena-ctl アドレス宛のメールは include ではな
く include-ctl というファイルを :include: 構文で呼び出すように設定され
ています(include-ctl では fml.pl --ctladdr という形で呼び出す設定がさ
れているのが重要なポイントです)。

Elena-ctl宛のメールはコマンドのルーチンだけしか呼ばないようになります。
つまりこのアドレスにくれば間違ったシンタックスのメールがきても配送はし
ません。ちなみに

	'Elena-ctl';
	'Elena-ctl@axion.phys.titech.ac.jp';

どちらでもいいんですが、フルにアドレスを書く方が良いです。

最もローカルからコマンドメールを出す時のことを考えると、
フルアドレスじゃないほうが望ましいという意見もあります。
# sendmail.cf 等に依存した話なので断言はできませんが…


7.2	メンバーチェックと自動登録について
4.06.0

設計思想としてMLサーバはあくまでプライベート・コミュニケイションの延
長であると考えています。デフォールトではサーバーはメンバーチェックを行
ないます。また、そういう意味で自動登録よりも管理者がチェックした後に手
で登録を行なうのがより良いといえるでしょう。それはまた security 上も望
ましいことです。
4.0

"makefml newml" が終った状態つまりデフォールトの挙動では『メンバーとし
て登録されているアドレス』からのみ『投稿やコマンドメール』を送ることが
できます。

そうでない状態例えば自動登録などに設定を変更するなら"makefml config"を
使って設定を変更するないしcfやconfig.phを手で編集する必要があります。
自動登録は『メンバー以外からのメールが来た時に自動登録ルーチンを動かす』
という風に設定します。

メンバーのアクセス制御については Chapter 6.1 を参照し
て下さい。『メンバー以外からのメールが来た時に何をするか?』は

[$REJECT_COMMAND_HANDLER]

	$REJECT_COMMAND_HANDLER = "auto_regist"; (default "reject")

という変数で設定しています。

デフォールトは reject でメンバー以外の人がメールをMLに投げると『あん
たはメンバーでないからだめやねん』というメールを送り主に送り返します。
これを auto_regist に設定すると自動登録を行ないます。

自動登録は次のような設定が典型的です。

	$CONTROL_ADDRESS               = "elena-ctl\@$DOMAINNAME";
	$PERMIT_COMMAND_FROM           = "members_only";
	$REJECT_COMMAND_HANDLER        = "auto_regist";

「メンバー以外からのメールは拒否するが、その際自動登録処理」に入る。以
下いくつかの設定パターンについて考えます。


[$PERMIT_POST_FROM    だれからの投稿を許すか?]
[$PERMIT_COMMAND_FROM だれからのコマンドメールを許すか?]

○ メンバーチェックについて

メンバーか否か?は $MEMBER_LIST (デフォールト members) の中に From: 行
のアドレスが存在するか否か?を調べています。

なお $REJECT_ADDR にマッチするアドレスはメンバーチェックに関わらず拒否
されます。例えば MAILER-DAEMON からのMLへの投稿などがそれに当てはま
ります。これはループなどの検出にも役に立ちます。

モデレータの場合はちょっと違うのでモデレータの章を参照 5.0。

○ 自動登録について

自動登録はキーワードを必要とするとか登録したいアドレスを指定したい時に
どうするか?等に関して様々なバリエーションがあります。
詳細については「自動登録」の章を見て下さい。
4.0
4.0


メンバーチェックは @MEMBER_LIST で定義されたファイル群の中に(デフォー
ルトでは $FILE_TO_REGIST, $MEMBER_LIST, そして $ADMIN_MEMBER_LIST)の中
に From: 行のアドレスが存在するか否か?を調べています。そこに存在しな
い場合は(例えば From: 行の)アドレスを自動的に $FILE_TO_REGIST
($MEMBER_LISTがデフォールト) に登録し管理者へその旨を知らせます。

配送は $MEMBER_LIST のみに従って配送されます(注意)。つまり自動登録時は 
$MEMBER_LIST しか使っていないのです。なお、このモードでは $ACTIVE_LIST
と $MEMBER_LIST は同じものに設定されています。



III 事例集


[PREVIOUS CHAPTER]
 [NEXT CHAPTER]