[PREVIOUS CHAPTER] [NEXT CHAPTER]

3 手動登録

    ○ 手動登録とは『fmlの動いているホストに入って、メンバーリストをいじる』
    場合です。エディターないしmakefmlを使って行ないます。登録意志の確認を
    fmlがしてくれることもありますが、最後のメンバーリストをいじる部分はＭ
    Ｌ管理者が何らかの行動を起こす必要があります。

    ○ 自動登録とは『fmlが登録意志の確認から実際の登録作業』までを自動的に
    行ないます。エラーの時だけが管理者の出番です。

    ○ 注意: 管理者がコマンドを送ってメンバーの登録を行なうやり方は手動登
    録と呼んでいます。例: "admin subscribe fukachan@fml.org"

    用語集 => ../Glossary 1.3
    自動登録については次章の 4.0 を見て下さい。

    3.1	subscribe コマンド(手動登録)時の挙動について(5 way hand shake)

    *_*_HANDLER が auto_regist でない場合です。この時は管理者宛に登録依頼
    メールをもらい、それをみて登録作業をします。ユーザーを登録するためには
    fml の動いているホストで makefml add を使ったり手でファイルを編集する
    必要があります。

    しかし、その登録依頼は他人のフリをしているのかもしれません。そのため登
    録の前に本人かどうかの確認をするべきです。confirmation はこの確認作業
    を fml が行なう場合です。forward_to_admin (元々の場合)で管理者がメール
    を書いて正当性チェックをする場合のことをさしています。

    	$MANUAL_REGISTRATION_TYPE ('confirmation' or 'forward_to_admin')

    $MANUAL_REGISTRATION_TYPE は confirmation がデフォールトです。

    手動で登録作業をするＭＬで、subscribe request をうけたらconfirm を返し、
    confirm が帰ってきたら管理者は手で登録する。デフォールトは
    confirmation にしてある。＃ 2.2A

         ユーザ			fml			管理者

         1 ユーザがリクエストをfmlへ送る。
         subscribe request ->

         2 fmlは確認のメールを返す
         		<-  confirm req

         3 ユーザは確認のメールを返す
         confirm it       ->

         4 fmlは確認したら、管理者に知らせる。
           ユーザにはちょっと待たれよとメールを送る

         		    confirm Okだったよん、いれてあげてぇ -> 管理者
         		<-
         confirmした
         管理者にしらせたからしばし待たれよ

         5 管理者が何らかの方法でユーザを加える。手で加えるなりコマンドなりで

         		admin add アドレス		<-
         		approve パスワード add アドレス

         (if $ADMIN_ADD_SEND_WELCOME_FILE == 1
         		<-
           welcome ♪のメール)

    $MANUAL_REGISTRATION_CONFIRMATION_FILE というファイルがある時はこのファ
    イルも送り返します。デフォールトではテンプレートを作ってありません。

    	$MANUAL_REGISTRATION_CONFIRMATION_FILE (default $DIR/confirm.msub)

    3.2	ほんとに抜けるか？を確認する unsubscribe

    自動登録には confirmation がありますが、その逆に抜ける時にも
    confirmation を求めるモードです。デフォールトではしません。
    4.9
    4.9

    設定するためには

    	$UNSUBSCRIBE_AUTH_TYPE = "confirmation";

    とします。やり方は confirmation と同様です。「本当に抜けるのね？」と確
    認を求めるメールが返るので、そのメールに reply してもらうと本当に抜け
    ることができます。

    3.3	アドレスの変更 ("chaddr" command)

    ISPを変わった時、ドメイン名が変更になった場合などには新しいアドレスに
    変更する必要があります。old-address を new-address へ変えるには

    	1. chaddr コマンド
    	2. 一回抜けてもう一度入る

    の２つの方法があります。chaddrコマンドは

    	chaddr old-address new-address

    というシンタックスのコマンドです。

    ○ fml 2.2 の仕様, fml 2.2.1 の仕様 (default)
    必ず『古いアドレスから』このコマンドを送ってください

    	From: old-address
    	To: list-ctl@domain

    	chaddr old-address new-address

    ○ fml 2.2.1 のオプション  "chaddr confirmation"

    chaddr を実行する前にconfirmationを行なうオプションがあります。

    	$CHADDR_AUTH_TYPE = 'confirmation';

    0. 	chaddrリクエストがfmlに来たら、それを行なっていいか？の確認の
    	メールを送り返します。新旧両方のアドレスへ送ります。

    1. 	新旧のアドレスのどちらか一方から chaddr を確認するメールがfml
    	に届いたら chaddr 処理を実行以下の条件が必要です。

     1.1 コマンドを送ったメールのFrom: に設定したアドレスが、オプションに指
     　　定したアドレスのどちらかと一致する
     1.2 指定したアドレスのどちらかはすでにメンバー

    2. 	結果にかかわらず、新旧両方のアドレスとＭＬサーバの管理者の３人に変
    	更の通知がメールで送られます。
    	＃ 管理者には届かないようにすることはできます。
    	＃ @DenyProcedure('r2a#chaddr');

    NOTE: 1999/10/04

    	chaddr でサブドメインだけを変更しようとすると通常はエラーになる
    	というのは変更先のアドレスがすでにメンバーリストにあるので。
    	そのため

    		chaddr foo@a.b.x.y.z foo@123.b.x.y.z

    	のような時は、アドレスの似ている度合いを見て一時的に
    	$ADDR_CHECK_MAX の値を上げることで正しく動作させる。
    	これに伴い &SaveACL, &RetACL でこの関数呼び出しを
    	保護する必要がある。HOOkなどで呼び出してる人は注意。

[PREVIOUS CHAPTER] [NEXT CHAPTER]