	СϿˤĤ

------------------------------------------------------------
I	ϿˤĤ

1	
1.1	ܤϼưϿ
1.2	Ǥ⼫ưϿꤹ뤳Ȥ¿
1.3	ǥ졼: ïǤƲĤɤ

2	Q & A
2.1	ǥեȤλ $MEMBER_LIST  $ADMIN_MEMBER_LIST ͥ衩

3	ưϿ
3.1	subscribe ޥ(ưϿ)εưˤĤ(5 way hand shake)
3.2	ۤȤȴ뤫ǧ unsubscribe 
3.3	ɥ쥹ѹ ("chaddr" command)

4	ưϿ
4.1	ưϿγ
4.2	ưϿͭˤ
4.3	Ͽ륢ɥ쥹ϰϤ¤
4.4	ݥȤǤͤ¤ͤϼưϿ
4.5	ưϿΥ
4.6	ưϿΥ: no-keyword
4.7	ưϿΥ: subject
4.8	ưϿΥ: body
4.9	ưϿΥ: confirmation (侩)
4.10	&Confirm internal hook functions
4.11	[fml 1.x, fml 2.x] ϿȥСå˻ȤեˤĤ
4.12	ưϿݤΥ᡼եɤ뤫ݤ
4.13	СåϤʤɼưϿϤʤ(+ trick)
4.14	ʣɥ쥹Ƥϰ(ưϿ⡼)
4.15	Ф򥤥󥹥ȡ뤷ۥȤΥСμưϿǤʤ
4.16	ưϿκݤ⡼
4.17	$AUTO_REGISTRATION_HOOK

5	ǥ졼
5.1	Overview
5.2	ǧλ ($MODERATOR_FORWARD_TYPE == 2 ǥե)
5.3	ǧλ ($MODERATOR_FORWARD_TYPE == 1 ⤷ ̤)
5.4	ǧλ ($MODERATOR_FORWARD_TYPE == 3 ⤷ ̤)
5.5	С٤˱3ʳʬ
5.6	queueexpire

6	ȥޥɡƤΥ
6.1	Υݥꥷ
6.2	ưϿȥ
6.3	ѤΥɥ쥹 ($MAIL_LIST)
6.4	ޥѤΥɥ쥹 ($CONTROL_ADDRESS)
6.5	ȥޥɤƱɥ쥹ǹԤʤ
6.6	ޥ or üŪѤΥФؤѹ
6.7	⡼ȤǴݤΥ

II	ɥ쥹ˤĤ

7	ɥ쥹ط
7.1	ޥɥȥѤΥɥ쥹
7.2	СåȼưϿˤĤ

III	㽸

8	
8.1	From  褬פˡߤ᤿(dynamical skip?)
8.2	off  skip
8.3	Ͽ welcome ᡼뤬֤Τߤ
8.4	Ͽ/ʳϸ¤ʤɬ
8.5	᡼󥰥ꥹȤؤνƤ˻ʤ٤ʤ
8.6	skip ޥɤоݤΥեϡ
8.7	᡼󥰥ꥹȤ˻òǽʥ桼Υɥᥤʤ
8.8	ؼưϿ٤ġإݥȤǤͤ¤㤽Σ
8.9	ǧڤݤΥɥᥤALIAS %DOMAIN_ALIASES
8.10	СåκݤΥɥ쥹Υåθ
8.11	$MAINTAINER Ȥɥ쥹
8.12	ɥ쥹ȿȤ˴
8.13	ոѥɥ쥹
8.14	ʣɥ쥹ƤȤϰ( "skip" ޥ)
8.15	ML-request 򥳥ޥѤΥɥ쥹ˤ
------------------------------------------------------------


I	ϿˤĤ
1	

ޤ basic_setup 򸫤ߤǤ

	../basic_setup/index.html

1.1	ܤϼưϿ

ϿߤȤꥯȤ顢᡼륵о
makefml ȤäϿȤ򤷤Ʋܺ٤ 3 

% makefml add elena ɥ쥹

1.2	Ǥ⼫ưϿꤹ뤳Ȥ¿

ꥯȤο¿ݤǤ:) ưϿˤˤ

makefml config elena 

   MAIN MENU -> 1 -> WHEN_COMMAND_FROM_NOT_MEMBER -> auto_subscribe

֡桼ϥ᡼ʸˡsubscribe ʬ̾(޻)פȽ񤤤
elena-ctl@ɥᥤ Ȥɥ쥹ؽФ confirmation 
ΤǤ롣ܺ٤ 4 Ỳȡ

1.3	ǥ졼: ïǤƲĤɤ

ïǤƤ꤬ΤǺɤ򤹤Ȥ硣ϥǥ졼
ȸƤФƤޤܺ٤ 5 

2	Q & A

2.1	ǥեȤλ $MEMBER_LIST  $ADMIN_MEMBER_LIST ͥ衩

Ǥޤ,ǧڥꥹȤоΤǤ褫äͤǡ

1.  Ԥ̤ͣεΤɤǤʤ

2. Ǥ֤СǤʤϤä̤ͣإեɡ
   ȤϤǤʤȺ

ȤտޤθˤˤʤäƤޤ:

	% makefml newml elena
	% makefml addadmin elena rudo@nuinui.fml.org

줷ʤ֤Ǥ͡ rudo ˤޤ󤬡2κ(ͣ
ؤΥե)ϤǤޤ

3	ưϿ

 ưϿȤϡfmlưƤۥȤäơСꥹȤ򤤤
ǤǥʤmakefmlȤäƹԤʤޤϿջ֤γǧ
fmlƤ뤳Ȥ⤢ޤǸΥСꥹȤ򤤤ʬϣ
̴Ԥ餫ιư򵯤ɬפޤ

 ưϿȤϡfmlϿջ֤γǧºݤϿȡ٤ޤǤưŪ
Ԥʤޤ顼λԤν֤Ǥ

 : ԤޥɤäƥСϿԤʤϼư
ϿȸƤǤޤ: "admin subscribe fukachan@fml.org"

Ѹ콸 => Glossary 1.3
ưϿˤĤƤϼϤ 4 򸫤Ʋ

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 ⡼ɤǤǥեȤǤϤޤ
See also: 4.9 
See also: 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ʤɤǸƤӽФƤͤա

4	ưϿ

See also: 6.1 6.2 

ưϿȤϡfmlϿջ֤γǧºݤϿȡ٤ޤǤưŪ˹
ʤޤ顼λԤν֤Ǥ
: ԤޥɤäƥСϿԤʤϼưϿ
ƤǤޤ: "admin subscribe fukachan@fml.org"

ưϿϢ礭

	ưϿ򤹤뤫ʤ
	$AUTO_REGISTRATION_TYPE  (פ)

ΣĤʤäƤޤʲǤϼưϿΤ褦ȥ/ˤĤ
Ʋ⤷ޤ

4.1	ưϿγ

fml Ϻäǽλ(1993)

	ǥեȤϥСΤߤ̤ͣȤ
	ưϿ

ǤưϿȤä security ؤŪ
ɬפޤѿ̾⤽ǰ򸵤ˤƤޤ

: ŪˡإСå򤹤Ȥ٤ΤإС
ʤˤǤPOSTǤ Ȥ ᡼եɡ٤ˤϤʤ餺С
åڤä СǤʤͤưŪϿȤưˤʤ
ޤ

 fml  "ưϿ" ϼΰϢưΤȤǤ

   1 륢ɥ쥹ˤĤơ
   2 Ǥˣ̤ͣΥСǤ뤫ɤå
	$FILE_TO_REGIST (ǥեȤ $MEMBER_LIST)
	Υɥ쥹ˤĤƥåޤ
   3 ⤷СǤʤʤ餽Υɥ쥹̤ͣϿ
	$FILE_TO_REGIST (ǥեȤ $MEMBER_LIST)
	Ͽޤ
   4 ϿˤϥäƤ

   ޤԤϿݤ᡼Τ餻ޤ

ưϿ᡼˻Ȥ

	$AUTO_REGISTRATION_TYPE
See also: 4.5 

ȤѿѤޤߤο侩 confirmation ȤפǤ
confirmation פ 1997/02 ʹߤΤΤ˼Ƥޤ
See also: 4.9 

ѤȤƣ̤ͣȴ confirmation Ǥޤ(ǥե
ȤϤޤǤʤ)
See also: 3.2 

confirmation ϤӿۤʤΤǡǤϤʳμưϿˤĤ
Ƴפ⤷ޤ

 СåϿ˻Ȥɥ쥹 
The target address to register is the address in From: or address in
subscription request (when $AUTO_REGISTRATION_TYPE is "subject" or
"body").

	From: ˤ륢ɥ쥹
or
	Ū˥᡼ʸǻꤵ줿

ΤŤ줫ǤRFC822Ūˤ Reply-To:  Reply-To: Ȥ٤
ȻפΤǤʤΤǻȤޤ󡣤ϡ㤨 Reply-To: ̤ͣ
켫ȤĤޤϿ򤷤Ƥͤ¸ߤ뤿 Reply-To: 
Τϴ뤿Ǥ

ޤϥ桼ѤΥ᡼륤󥿡եʤˤʤˤΤ
ˤƤޤ褦ʥ桼԰Ȥ⤤ޤ
͹ʤ͹ؤʤ鰸衢֤ߤΤʤȤȤ
Ǥ礦ġ

 ưϿϿݤˤϤΥ桼إ֤ޤ

	$WELCOME_FILE	= "$DIR/guide";	# could be "$DIR/welcome"
	$WELCOME_STATEMENT = 
	"Welcome to our $ML_FN\n You are added automatically\n";

ѿΥե($WELCOME_FILE) Υ᡼ Subject
($WELCOME_STATEMENT)Ƥޤ

$WELCOME_FILE ֤ޤʸϤ񤤤ե (Ȥꤢguide
ˤƤƤޤ) ǡޤΥ᡼ Subject 

	Subject: Welcome to our (Elena ML)
	 You are added automatically

Τ礦ˤʤޤ (since $ML_FN = "(Elena ML)")

4.2	ưϿͭˤ
See also: 6.1 

ǥեȤΣ̥ͣФεư

   СΤ(members_only)/ޥɤλ ǽ
   ⤷Сʳ褿(reject)

ǤưϿ"ƤС"(members_only)ξ

   Сʳ᡼뤬褿ϼưϿ
   ( auto_regist ѹ)

뤳Ȥꤷޤ(makefmlǤޤ)config.ph Ǥ
(config.ph Υǥե)

	$MAIL_LIST                     = "elena\@$DOMAINNAME";
	$PERMIT_POST_FROM              = "members_only";
	$REJECT_POST_HANDLER           = "reject";

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

ʬ

	$MAIL_LIST                     = "elena\@$DOMAINNAME";
	$PERMIT_POST_FROM              = "members_only";
	$REJECT_POST_HANDLER           = "reject";

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

Τ褦ˤʤ뤳ȤǤξϥСʳοͤ

	Ƥ			(СǤʤȤ᡼뤬֤)

	ޥѤΥɥ쥹إ᡼
					ưϿ

Τ褦ư򤷤ޤ

	$REJECT_POST_HANDLER           = "auto_regist";

ˤСѤΥɥ쥹ǼưϿפǤޤ

4.3	Ͽ륢ɥ쥹ϰϤ¤
See also: remote_control 4.14 

ѿϼưϿǤ⡼ȥޥɤˤϿǤ¤Ǥޤ
 makefml Ǥ̵Ǥ

ǥեȤǤ $REJECT_ADDR ˤƤϤޤʤʤɤʥɥ쥹Ǥ
ϿޤΥɥᥤΤߤϿоݤˤʤ 
$REGISTRATION_ACCEPT_ADDR ɽ񤤤ƲΥɥᥤ
Υ桼ϿоݤˤʤɤͭǤ

Example 1; accept subscribe request from domain.co.jp
	$REGISTRATION_ACCEPT_ADDR = 'domain.co.jp';

Example 2;
	$REGISTRATION_ACCEPT_ADDR = 'domain1.co.jp|domain2.co.jp';

$AUTO_REGISTRATION_ACCEPT_ADDR ϼưϿ롼ˤѤѿ
ѲǽǤ obsolete Ǥ

4.4	ݥȤǤͤ¤ͤϼưϿ

$REJECT_COMMAND_HANDLER ˤü auto_asymmetric_regist Ȥͤ
ޤǧڤΥꥹȤоΤ˻Ȥ˻Ȥޤ 
elena-ctl ȤȤȤƤޤ

	elena/actives	MLΥꥹ(ưϿ˻Ȥ)
	elena/members	MLǧڤ˻Ȥꥹ(ưϿ)
			(MLƤǤͤΥꥹ)

4.5	ưϿΥ

ưϿΥ

	Ͽ٤ɥ쥹ɤ֤
	Ͽεư˥ɬפȤ뤫

ˤ겿¸ߤޤ

	$AUTO_REGISTRATION_TYPE 

Ȥѿǿ񤤤Ѥޤѿ

	confirmation
	body
	subject
	no-keyword

ΤΰĤǤ줾ˤĤƲ⤷ޤ
confirmation פˤĤƤ 4.9 ȡ

4.6	ưϿΥ: no-keyword

̤ʥɬפȤʤСʳ᡼뤬褿鼫ư
ŪϿ٤Ǥ

	$AUTO_REGISTRATION_TYPE = "no-keyword";

	From: 饢ɥ쥹ФƤӡϿ˻Ȥޤ
	"subscribe"ǻꤵ륭ɤǥ᡼ʸ
	Ͽ᡼륢ɥ쥹ꤹ뤳ȤǤޤ
	ɤ

		subscribe your-mail-address 

	ηǻȤޤΥɤѿ

		$AUTO_REGISTRATION_KEYWORD

	ѹǤޤ
	(:config.ph CFVersion 3  $DEFAULT_SUBSCRIBE)

	From: ߤƥСǤʤͤΥ᡼äϼưŪ
	С˲äޤ

	From: Ȱ㤦ɥ쥹ϿˤˡŪ˹Ԥʤޤ
	줫Ҥ٤륭ɤɬפȤȰ㤦Τ 

		subscribe your-mail-address 

	Τ褦ʥɤޤ"ɬܤǤϤʤ"ȤǤ

	[] ηϤȤOFFMLʤ󤫤Ǥ
		: ֽʤޤץ᡼뤬Τޤή롣
		(ֽʤޤװʳΥ᡼ϤۤȤɤʤ)

4.7	ưϿΥ: subject

ؼưϿΤˤ Subject: ˥ɤɬפȤ

	$AUTO_REGISTRATION_TYPE = "subject";

	(config.ph CFVersion 3 Ǥ
		$REQUIRE_SUBSCRIBE = "subscribe"; 
	ޤ)

	ξ᡼إå
	 Subject: subscribe λ From: Υɥ쥹
	 Subject: subscribe address ʤ顢 address 
	СåϿ˻Ȥޤ

	ΤŤ줫Υѥ˥ޥåʤϿϹԤʤ줺
	ϿλְäƤȥ桼˥᡼뤬ޤ

4.8	ưϿΥ: body

ؼưϿΤˤϥ᡼ʸ˥ɤɬפȤ

	$AUTO_REGISTRATION_TYPE = "body";

	(config.ph CFVersion 3 Ǥ
		$REQUIRE_SUBSCRIBE = "subscribe"; 
		$REQUIRE_SUBSCRIBE_IN_BODY = 1;
	ޤ)

	ξ᡼ʸ
	 subscribe λ From: Υɥ쥹
	 subscribe address ʤ顢 address 
	ΤŤ줫СåϿ˻Ȥޤ

	ΤŤ줫Υѥ˥ޥåʤϿϹԤʤ줺
	ϿλְäƤȥ桼˥᡼뤬ޤ

4.9	ưϿΥ: confirmation (侩)

	$AUTO_REGISTRATION_TYPE = "confirmation";

Confirmation (Ͽγǧ) ϼưϿ򤤤ʤϹԤʤ鷺ꥯȥ᡼
Фö֥ѥɤĤγǧ᡼פꥯȥ᡼ From: 
Υɥ쥹֤ޤƳǧݤΥ᡼뤬֤äƤƤϤϿ
ԤʤޤήϼΤ褦ˤʤޤ

1	subscribe request

ϿΥꥯȥ᡼ǤϿŪʥեθΤ褦ʥꥯ
ȤäƤ餤ޤ

	subscribe ʤ̾ (: Email Address ǤϤʤʤ̾)
	㡧subscribe Ken'ichi Fukamachi 

Τ褦ʥꥯȤäƤ餤ޤ$CONFIRMATION_SUBSCRIBE Ǥ 
subscribe ȤɤѹǤޤ

2	reply from fml server

ΰ٤ϿꥯȤФΤ褦ʹ(οϤޤǤ
Ǥ)

	confirm 84682771 Ken'ichi Fukamachi

ޤ reply  From: Υɥ쥹֤ޤ֤Υ᡼󥰥ꥹȤ
Ͽ򤷤Ƥ褤ǧ᡼פǤϡ־˥᡼󥰥ꥹ
ȤϿƤޤΤؤͽɺǤ
ʤΥե졼"confirm 84682771 Ken'ichi Fukamachi"ޤޤƤ
ʬǹԤƬϤޤäƤɬפϤޤ󡣤Ĥޤ̤REPLY
Ѥ > ʤɤĤƤϤޤ

ޤ reply ˤϤΥ⡼ɤɥ $CONFIRMATION_FILE
($DIR/confirm) ޤޤޤ

3	confirmation 

ʤΥ᡼󥰥ꥹȤؤλóǧΥ᡼Ȥäʤ顢

	confirm ѥ() ʤ̾

ɤιԤ" ޤ᡼⤦ϿѤΥɥ쥹 

	$CONFIRMATION_ADDRESS

إ᡼֤Ƥ餤ޤ̾ $CONTROL_ADDRESS Ǥ(fmlserv  
$MAIL_LIST ⤷ޤ)
 :
 $MAIL_LIST		elena@fml.org
 $CONTROL_ADDRESS	elena-ctl@fml.org

ȥꥯȤФ桼γǧ줿Ȥߤʤ
 From: Υɥ쥹Ͽޤʤ "confirm" Ȥɤ 
$CONFIRMATION_KEYWORD ѹǤޤ

[Ԥǽ餫ľ]

	confirm ѥ() ʤ̾

Υ᡼ʤƤޤäȤʬʤʤäƤΤǺǽ餫
Ȥϡɺǽ餫ɤĤޤ

	subscribe Ken'ichi Fukamachi

뤳ȤľƤ館УϣˤǤʤ confirm reset
($CONFIRMATION_RESET_KEYWORD) ȤޥɤƱȤǤޤ
ޤ⤦ subscribe Ƥ餦Τ褤Ǥ礦

____________________________________________________________________________
[confirmation Υե]
桼				̥ͣ

subscribe			
				ꥯȼ
				confirm ѥ() ʤ̾
				Ȥ᡼äߤȤֻ

confirm ѥ ʤ̾
				
				confirm ѥ ʤ̾
				ΤʤϿ

				ϿޤȤ᡼
____________________________________________________________________________

4.10	&Confirm internal hook functions

	$CONFIRM_REPLAY_TEXT_FUNCTION		for test
	$CONFIRM_REPLAY_SUBJECT_FUNCTION	for subject

ʾܤ˱subject䥨顼ʸ뤿δؿ̾
unsubscribe confirmation ϤHOOKѤƤ롣
See also: 3.2 

See also: 3.2 

4.11	[fml 1.x, fml 2.x] ϿȥСå˻ȤեˤĤ
See also: internals 8.4 

[fml 3.0]
fml 3.0 ʹߤǤϼưϿݤ鷺

		actives		ꥹ
		members		ǧڥꥹ

Ǥ

[fml 1.x, 2.x]

ưϿξactivesȤ鷺membersե뤬memberactivesξ
ǤˤʤäƤޤ

	$FILE_TO_REGIST ($MEMBER_LIST in default)

ФϿԤʤޤСå

	@MEMBER_LIST

Υե뷲ФƹԤʤޤѤȤʤȤǤ
ϤǤ

ñ㡧 ¤ fml.pl ΥǥեȤ

    @MEMBER_LIST = ($MEMBER_LIST, $ADMIN_MEMBER_LIST);

ǤĤޤ⡼ȤǴ븢¤ΤͤSETUP顢Сꥹ
ȤʤƤ⡼Ȥǣ̤ͣConfigǤޤ

ޤ confirmation ⡼ɤǤΥꥯ׵εϿ

	$CONFIRMATION_LIST

Ȥե(ǥեȤ $DIR/var/log/confirm)¸Ƥޤ

	$CONFIRMATION_EXPIRE

λ(ǥեȤϰ콵)֤ reply ֤äƤͭǤ

4.12	ưϿݤΥ᡼եɤ뤫ݤ

subscribeפȤʸˤʤ᡼̤ͣήʤΤǡưϿ
ΥǥեȤǤϿ򤷤Ƥ뤽Υ᡼̤ͣήԤؤ
λݤΤǤ
ޤեɤ confirmation ⡼ɤǤϸ¤ʤ̣ޤ:)

ޤǤΡ֥եɽ򤹤뤫ݤפϡ֤ɤΥɥ쥹
Ͽ˻ȤפưȤΩǤ

եɤʤʤ

	$AUTO_REGISTERED_UNDELIVER_P = 1;

Ǥʤʤ 0 Ǥ

ʤ顢ήȤ򤷤Ƥ⡢subscribe Υ᡼ (Ĥ8
)ήޤ󡣴԰ʳϸƤ⤦줷ʤȤθǤ
off ѤʤȤ⤫subscribe٤ signature 4Ԥ餤ʤä
᡼ήƤ⤷礦ʤǤ

8 = 1 + 3ʸ + 4ԥ˥㥢 ȤȤǡǥեȤǤ

	$AUTO_REGISTRATION_LINES_LIMIT = 8; 

Τ褦ƤޤĤޤ 8 Ԥۤ᡼Ϥʤޤ
ǤʤȤʤޤ

 -1 ˤƤСȤ Ȥ̵᡼Ǥήޤ;-)
ա 0 ȡ8 ѹƤޤ

ʤTYPO $AUTO_REGISTERD_UNDELIVER_P ˤʤäƤ version Τ 
fml ˤϤꤨޤ _o_

4.13	СåϤʤɼưϿϤʤ(+ trick)

	$PERMIT_POST_FROM	= "anyone";

Ǥ(makefml config Ǥǽ)ޥɤˤǤʤ餵

	$PERMIT_COMMAND_FROM	= "anyone";

Ǥ

[]
+ trick ǧڤ򤷤ʤĤޤïǤϣˤȤFML˻פ碌밭Ū
ʤǤ members ($MEMBER_LIST) 

	+

Ƚ񤤤ƤȤǡιԤ˽Фäǧڤ줿Ȥߤʤޤ
󥿥åNISˤʤäƤǤ:-)

Ĥޤ + 񤤤Ƥ

	Сå뤫ݤ
	ưϿ

˴ؤ餺᡼ޤ

ΥǥեȤǤïˤǤ⥳ޥɤ¹ԤǤ褦ˤϤƤ
󡣣̤ͣΥСǤʤͤ˲Ƥ뤫Ȥäƥޥɤ¹Ԥ
Ƥ褤Ȥϸ¤ʤǤ

obsolete ǤΤ

    	$PROHIBIT_COMMAND_FOR_STRANGER = 1; (default)

Ȥѿäơ0 ˤ + trick Ǥ⥳ޥɤȤ褦ˤʤ
ޤĤޤ긽ߤ 

	$PERMIT_COMMAND_FROM	= "anyone";

Ǥ

4.14	ʣɥ쥹Ƥϰ(ưϿ⡼)
See also: internals 8 

ưϿǤϸΤ̥ɥ쥹ͤȤäƤޤΤǤ

	ʣɥ쥹Ʋǽ
	ϤϤĤΥɥ쥹äߤ

Ȥͤơmembers(ưϿǤ actives ȷǤ) 

	# fukachan@phys.titech.ac.jp
   
	fukachan@phys.titech.ac.jp	skip

Ȥ󥿥å fukachan@phys.titech.ac.jp СȤư
ˤϤޤ

Ĥޤ

	fukachan@phys.titech.ac.jp	skip
	Elena@phys.titech.ac.jp	
	# Pollyanna@phys.titech.ac.jp

Ȥ $MEMBER_LIST Υե뤬Ȥȡfukachan, elena,
Pollyanna ΤɤΥɥ쥹ǤƤϤǤ뤬 elena ˤ
ʤʤȤȤˤʤޤ

ʤäȤ̵طǤ 

fukachan@phys.titech.ac.jp	matome

ιԤ֤ޤȤοͤץꥢ륿оݤˤϤʤޤ

4.15	Ф򥤥󥹥ȡ뤷ۥȤΥСμưϿǤʤ

ä 
	user@domain Ǥʤ᡼륢ɥ쥹Ͽоݤˤʤ뤫 
Ȥ˴Ըޤ

RFC822 ˽ user@domain Ǥʤ᡼륢ɥ쥹 ILLEGAL Ȥߤʤ
٤ǤĤޤꤳФƲ餫 Operation ¹ԤΤϤ褯
ȹͤ٤Ǥlocalhost ξˤǧʤɤξĤʤ
ᥤʤΥɥ쥹ǧɤȻפޤ($PeerAddr å)
See also: internals 9.3 
See also: internals 9.3 

user@domain եǤʤ ILLEGAL ʥ᡼륢ɥ쥹 ̤ꤷơ
ȤۤƤޤ褦ʤȤ⤢ꤨޤ(꼡)äѤ
äƤޤȤäƤޤȤ⤤ޤ礳
̣ƣ̤ͣ᡼륵Фᥤƥʥ󥹤٤Ǥ

ˤ⤫餺ưŪϿȤƤϼΤ褦ʤΤͤ
ޤ

 sendmail.cf 򤤤

줬֤ޤȤˡȻפΤǤ㤨 Rule Set 10 

R$+			$@$1<@$S>			user w/o host

ǡuser -> user@domain Ѵ롣
 DS$m Ƥ$m == domain Ǥ

[sendmail.cf Example]

S10
R<@>			$n				errors to mailer-daemon

# append local address
R$*			$:$>11 $1

S11
R$*<@$*>$*		$@$1<@$2>$3			already qualified

# output local host as user@host.domain
R$=S			$@$1<@$j>			show exposed names
R$+			$@$1<@$S>			user w/o host

 MH򤤤Υ󥿡եǤOKǤ
   Ϥ٤ƤξOKȤϸ¤ʤ꤫

 subscribe ζ

FromԤΥɥ쥹@ʲĤʤǥ᡼뤬Ƥ

餻ʤˡɥᥤοͤ 

	subscribe uja@localhost-name.uja.jp 

ɬȤäƤ餦(confirmationǤϤ)

 եåˤ뼫ư

ư äƤʤϤʤǤѤʤȤޤ顢YOUR
OWN RISK ǤäƤ

$START_HOOK  = q#
	if ($From_address !~ /\@/) {
		$From_address = "$From_address\@ʥɥᥤ";
	}
#;

ǥʥɥᥤϼʬΥɥᥤǤ

4.16	ưϿκݤ⡼

Сե˽񤭹

	ɥ쥹 $AUTO_REGISTRATION_DEFAULT_MODE

ηǹԤʤfml ɽꤹɬפΤդƲ

: ǥեȤ skip ˤ

	$AUTO_REGISTRATION_DEFAULT_MODE	= "s=1"; 

    ޤȤᤪǣ֤˰ Multipart ꡣ

	$AUTO_REGISTRATION_DEFAULT_MODE	= "m=3mp"; 

See also: internals 5 

4.17	$AUTO_REGISTRATION_HOOK

:

$AUTO_REGISTRATION_HOOK = q#
    $e{'GH:Reply-To:'} = $MAINTAINER;
#;

WELCOMEΥ᡼ Reply-To: ԰ˤ

5	ǥ졼

ξϤϡأ̤ͣή˺ɤ򤹤ͤȤƥ٤ˤĤƤǤ

: ǥ졼 moderator ޥɤȤˣ̤ͣΥСǤʤ
    Ǥmembers ʤ members-admin ˥ǥ졼οͤ
    ɥ쥹ɲäƤƲ

5.1	Overview

ǥ졼ǽϡʲΤ褦ʺƥƥǤ

	1 ̰ͣ褿᡼줺
	2 öǥ졼إեɤޤ
	3 ǥ졼Ƥɸ徵ǧʤ
	  륭(ѥ)̥ͣФ뤳Ȥ
	  ͣΤޤ	
	 (ΥɤˡˤĤƤϸҤޤ)

ѿ config.ph 

	$PERMIT_POST_FROM              = "moderator";

ȤʤäƤ֤Ǥmakefml config ̤Ǥ

   [POST]

   1    PERMIT_POST_FROM                   moderators

Τ褦ˤʤޤޥɤˤĤƤ

   [COMMAND]

   3    PERMIT_COMMAND_FROM                moderators

ϤǤޤǧФޥɤȤΤϰ̣ʤ
ޤºݤˤϥޥɤؤξǧȤǤޤ:)

tricky ʥɤʪ $MAIL_LIST != $COMMAND_ADDRESS ʤΤ
$MAIL_LIST  # moderator ޥɤ򤷤ƤޤޤΤޤޤǤ⤤
褦ʵƤʤäƤޤ$PERMIT_COMMAND_FROM  moderators 
tricky ʤȤ򤷤ƤΤǡäȤͤ

5.2	ǧλ ($MODERATOR_FORWARD_TYPE == 2 ǥե)

$MODERATOR_FORWARD_TYPE ȤѿޤǥեȤϣǤ

Τ褦ʥ᡼뤬ǥ졼ޤ

   Moderated $MAIL_LIST (elena@fml.org) receives a submit from

      fukachan@fml.org.

   Please check it. If you certify the following article, 
   please send to elena-ctl@fml.org
   the following line (only this line!)

   moderator certified 199711032027.709982

   ------- Forwarded Message

   ᡼ʸ

   ------- End of Forwarded Message

᡼ϣ̥ͣФ¸Ƥޤ᡼ʸƤǧʤ顢

moderator certified 199711032027.709982

ιԤ򥳥ޥѤΥɥ쥹äƲȣ̥ͣФϼ
ʬ¸ƤΥ᡼ޤ

ǥ졼ݤϤ̤ʸ(moderator certified )Τ
Ƥ뤫ݤǤο㤦Τạ̇̄ǰŹ٥
㤤 one time password ȤߤʤȤǤޤ

Υ᡼뤬ƤͤïǤǥ졼ˤʤޤǥե
 $MAINTAINER Ǥʣοͤǥ졼ˤʤ moderators 
ե actives  members Τ褦˰԰쥢ɥ쥹񤤤Ƥ
Ʋ

5.3	ǧλ ($MODERATOR_FORWARD_TYPE == 1 ⤷ ̤)

ǧ᡼뤬եɤΤ $MAINTAINER Ǥǧ
ݤϥѥǧڤˤʤޤѥɤΤäƤͤǥ졼
ޤ̥ͣФ᡼Υإå Approval: line Ĥ

	1 ᡼ϰԤإեɤ롣
        2 ԤɤOKȤߤʤ̤ͣꤲ롣
          Approval: password եɤإåˤĤƣ̤ͣ
          ꤲХ᡼롣

ѥɤϥ⡼ȴΤƱͤݼ餷Ʋ
ȤƤ

	Approval: password ĤΤϤ
	ϤʤɡƤ

	MUA(᡼桼󥿡ե)

ʤɤΤǲΰĤȤ

	admin forward
	եɤʸ

Ȥޥɤ⤢ޤ

	admin pass ʤΥѥ
	admin forward
	ʸ(βեɤ)

5.4	ǧλ ($MODERATOR_FORWARD_TYPE == 3 ⤷ ̤)
See also: 5.3 

Type III  I ѷǤѥɤΤäƤ(ǥ졼)Ϻɤ
ؤ餺ФޤApproval: ѥ Ĥǥ᡼кɤˤޤ
餺Τޤ̲ᤷޤ

See also "admin forward" command.
See also: 5.3 

5.5	С٤˱3ʳʬ

С3ʳʬ뤳Ȥͤ롣

group 1: ǥ졼(ο͡)̵˿ꤵ롣
group 2: ǤС̤̤롣
group 3: ̥С̤ȥǥ졼ž졢
	 ̾Υǥ졼μƧࡣ

̾ǥ졼⡼ɤϣʳǤϤʤΤǲ¤ɬפǤ롣
ǤϤHOOKǤ¸뤳Ȥˤ롣

1. ޤǥեȤϥǥ졼⡼ɤˤ롣makefml config ʤcf˽
ʤꤷ

	$PERMIT_POST_FROM  = "moderator";

ˤʤ褦ˤ롣

2. priv Ȥե̤ͣHOMEˤĤꡢgroup 2 б뿮Ǥ
С(ǥ졼ǤϤʤ)ηϿ(԰쥢ɥ쥹)

3.  ξǰʲΤ褦HOOKcfκǸ config.ph 롣

$START_HOOK = q#
     $PRIV_LIST = "$DIR/priv";
      if (&CheckMember($From_address, $PRIV_LIST)) {
         $PERMIT_POST_FROM  = "members_only";
   }
#;

5.6	queueexpire

	$MODERATOR_EXPIRE_LIMIT (default 14 == 2 weeks)

submit줿ǧʤä᡼ϣ(ǥե)ä
֤ $MODERATOR_EXPIRE_LIMIT Ȥѿ椹롣

6	ȥޥɡƤΥ

6.1	Υݥꥷ

FML 2.1 (config.ph  CFVersion  3)ʹߤǤ 

	$PERMIT_POST_FROM
	$REJECT_POST_HANDLER
	$PERMIT_COMMAND_FROM
	$REJECT_COMMAND_HANDLER

Ȥ4Ĥѿθ򰮤äƤޤޤưϿ򤹤뤫
ݤ?⥢ΰȤƤѿ椵ޤ줾
̣

   $PERMIT_POST_FROM		줫Ƥ?
   $REJECT_POST_HANDLER		СʳƤäɤ뤫?
   $PERMIT_COMMAND_FROM		줫Υޥɤ?
   $REJECT_COMMAND_HANDLER	СʳΥޥɤ褿ɤ뤫?

Ǥꤨ

   [줫顩]
	anyone			ǤOK
	members_only		̤ͣΥСΤ
	moderator		ǥ졼Τ (5)

   [HANDLERμ]
	reject			 (deny Ȥե뤬֤)
	auto_subscribe		ưϿ (fml Release 3)
	ignore			̵ 

	(auto_regist		fml Release 2μưϿ)

㤨 anyone Ǥ $REJECT_ADDR ŬѤ뤳ȤդƲ

    $REJECT_ADDR  = 'root|postmaster|MAILER-DAEMON|msgs|nobody';
    $REJECT_ADDR .= '|majordomo|listserv|listproc';

HANDLER ϤξԤإ᡼ǤϤޤ

ǥեȤΣ̥ͣФεư

	СΤ(members_only) /ޥɤλ ǽ
	⤷Сʳ褿(reject)

Ǥ config.ph ΥǥեȤ

	$MAIL_LIST                     = "elena\@$DOMAINNAME";
	$PERMIT_POST_FROM              = "members_only";
	$REJECT_POST_HANDLER           = "reject";

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

Τ褦ˤʤäƤޤ(elena MLξ)

6.2	ưϿȥ
See also: 4 

ưϿ

	"ƤС"(members_only)ξ
	⤷Сʳ褿鼫ưϿ  auto_subscribe ѹ

Ȥ򤹤뤳ȤǹԤʤޤ(makefmlǤޤ)config.ph 
Ǥ

	$MAIL_LIST                     = "elena\@$DOMAINNAME";
	$PERMIT_POST_FROM              = "members_only";
	$REJECT_POST_HANDLER           = "reject";

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

Τ褦ˤʤ뤳ȤǤξϥСʳοͤ

	Ƥ			(СǤʤȤ᡼뤬֤)

	ޥѤΥɥ쥹إ᡼
					ưϿ

Τ褦ư򤷤ޤ

	$REJECT_POST_HANDLER           = "auto_subscribe";

ˤСѤΥɥ쥹˥Сʳ᡼뤬褿鼫ưϿפ
뤳ȤǤޤ

6.3	ѤΥɥ쥹 ($MAIL_LIST)

$CFVersion 3  config.ph Ǥ

   $MAIL_LIST  $CONTROL_ADDRESS ۤʤ(ǥե)
	$MAIL_LIST Ǥ

   $MAIL_LIST  $CONTROL_ADDRESS Ʊ
	$MAIL_LIST ⥳ޥɤդޤ
	"# command"򸫤Ĥȥޥɥ⡼ɤˤʤޤ

ƤǤͤϰ(Ǥ/С) $PERMIT_POST_FROM ѹ
ޤǥեȤ members_only

ɤˣ̤ͣäƤեɤΥɥ쥹/ͣ(
Υɥ쥹)

	$PERMIT_POST_FROM = "anyone";

Ȥ٤Ǥ

6.4	ޥѤΥɥ쥹 ($CONTROL_ADDRESS)

makefml  listname-ctl Ȥɥ쥹Ѱդޤ$CONTROL_ADDRESS 
ȤѿǤ

ϥޥѤǤlistname-ctl Ѥ include-ctl Ȥե 
:include: 褦ꤵƤޤinclude-ctl Ǥ --ctladdr Ȥ
ץ󤬤ĤƤΤޥѤȤ fml.pl ư뤿
ץǤΥץäʤǲ

ޥɤ¹ԤǤͤϰ(Ǥ/С) 
$PERMIT_COMMAND_FROM ѹޤ̤ʾѿѤ뤳
ȤϤʤǤ礦ǥեȤ members_only

6.5	ȥޥɤƱɥ쥹ǹԤʤ

2.1 RELEASE  fml ΥǥեȤεư(Backward compatible)Ǥ 
ФϰĤΥɥ쥹⥳ޥɤޤ

2.1 RELEASE ʹߤǤ $CONTROL_ADDRESS  $MAIL_LIST Ʊˤ뤳Ȥ
¸뤳ȤǤޤ makefml ŪѹɬפʤȤ
դƲ

ʤ 2.1 RELEASE  config.ph  $CFVersion 3 Ǥ config.ph 
 3 꾮 version ƤʤɤǤ3 
ΤȽǤϸߴΤ $MAIL_LIST ⥳ޥɤ
դޤ

ȥޥɤƱɥ쥹ǼȤˤϥޥɤʤΤɤ
ȽꤹɬפޤȽ

	᡼κǽΣԤΤɤ 
	# commandʱʸβ
	ξ祳ޥɥ⡼ɤذܹԤ

ǤʤߤˤΣԤΣ

	$COMMAND_CHECK_LIMIT           = 3;

ǷƤޤ

 Τޥɤ¹ԤΤؤιޤ 

	# command options

ȤäƤ뤫Ǥ
Emacs  C- (control) Ȥ vi Υ⡼ؤߤʤΤǤ:-)

ޥɤդʤɥ쥹ʤ "# command" syntax ʤƤ⤤
ϤǤ	

	$COMMAND_ONLY_SERVER           = 1;

Ȥ 

	# command options 

ǤϤʤ᡼

	command options

ηȲꤷޤĤޤ̾Υ᡼⤹٤ƥޥɤȤߤʤƤޤ
ޥѤΥФˤʤޤ

6.6	ޥ or üŪѤΥФؤѹ

ޥɤˤĤƤϥǥեȤ makefml  listname-ctl Ȥޥ
ѤΥɥ쥹Ѱդޤʳˤ⤢ŪѤΥФ
뤳ȤǤޤ㤨ftpmail 䡢info@domain.xx.jp ȤƼưŪ
ȿγפ֤Фʤɤͤޤ

	$LOAD_LIBRARY = 'libfml.pl'; 

Τ褦(default) ޥѤ

	$LOAD_LIBRARY = 'libftpmail.pl'; 

Ȥ ftpmail ѤΥɥ쥹ѤǤ(: ftpmail Ѥ
ɬפǤ)

 $LOAD_LIBRARY ꤵƤȡΥ饤֥ɾƼ¹
褦˺ưޤξϹԤʤޤʤ
ˤ뤿 --ctladdr Ȥޥɥ饤󥪥ץĤƤ
褤Ǥ礦

6.7	⡼ȤǴݤΥ
See also: remote_control 4 encryption 4 utility_programs 6.17 

SMTPǤϽɤ褦ʤΤǥǥեȤǤϥ⡼ȤǥФ
褦ˤϤʤäƤޤ󡣲ǽʸ¤򤱤٤Ǥ⡼ȴ
Secure Shell  makefml ư褦ʻȤߤȤ褤Ǥ͡

Email Address ̩ȹ礻 ⤷ Źˤꥢ
ԤʤäƤޤܺ٤ϡ֥⡼ȴפξϤ򸫤Ƥ
See also: remote_control 4 
See also: remote_control 4 

II	ɥ쥹ˤĤ
7	ɥ쥹ط

7.1	ޥɥȥѤΥɥ쥹
See also: MTA Appendix B.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 ˰¸äʤΤǸϤǤޤ󤬡

ʤξ/etc/aliases

	Elena-ctl: :include:/var/spool/ml/elena/include-ctl

Ȥ񤤤Ƥ뤳ȤɬפǤȽ񤤤å newaliases
˺줺ˡmakefml λؼ̤ˤФ⤷ƤϤǤɡ

7.2	СåȼưϿˤĤ
See also: 4 6 

߷׻ۤȤƣ̥ͣФϤޤǥץ饤١ȡߥ˥α
ĹǤȹͤƤޤǥեȤǤϥСϥСå
ʤޤޤ̣ǼưϿԤå˼
ϿԤʤΤɤȤǤ礦Ϥޤ security ˾
ޤȤǤ
See also: 4 

"makefml newml" ä֤ĤޤǥեȤεưǤϡإСȤ
ϿƤ륢ɥ쥹٤ΤߡƤ䥳ޥɥ᡼٤뤳Ȥ
Ǥޤ

Ǥʤ㤨мưϿʤɤѹʤ"makefml config"
Ȥäѹʤcfconfig.phԽɬפޤ
ưϿϡإСʳΥ᡼뤬褿˼ưϿ롼ư
Ȥꤷޤ

СΥˤĤƤ Chapter 6.1 򻲾Ȥ
ƲإСʳΥ᡼뤬褿˲򤹤뤫٤

[$REJECT_COMMAND_HANDLER]

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

ȤѿꤷƤޤ

ǥեȤ reject ǥСʳοͤ᡼̤ͣꤲȡؤ
ϥСǤʤͤ٤Ȥ᡼֤ޤ
 auto_regist ꤹȼưϿԤʤޤ

ưϿϼΤ褦꤬ŵŪǤ

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

֥СʳΥ᡼ϵݤ뤬κݼưϿפ롣
ĤѥˤĤƹͤޤ

ʤΤ $ML_MEMBER_CHECK ȤѿǷƤޤ
ѿȤƻȤƤޤHOOKǻȤȤȤꤷ
ŪѿȤƻĤäƤޤ$ML_MEMBER_CHECK פʤΤϤѿˤ
 СꥹȤꥹȤۤʤ뤫Ǥ

[$PERMIT_POST_FROM    줫Ƥ]
[$PERMIT_COMMAND_FROM 줫Υޥɥ᡼]

 СåˤĤ

Сݤ $MEMBER_LIST (ǥե members)  From: 
Υɥ쥹¸ߤ뤫ݤĴ٤Ƥޤ

ʤ $REJECT_ADDR ˥ޥå륢ɥ쥹ϥСå˴ؤ餺
ޤ㤨 MAILER-DAEMON Σ̤ͣؤƤʤɤƤϤ
ޤϥ롼פʤɤθФˤΩޤ

ǥ졼ξϤäȰ㤦Τǥǥ졼ξϤ򻲾 5

 ưϿˤĤ

ưϿϥɤɬפȤȤϿɥ쥹ꤷ
ɤ뤫˴ؤ͡ʥХꥨ󤬤ޤ
ܺ٤ˤĤƤϡּưϿפξϤ򸫤Ʋ
See also: 4 
See also: 4 

Сå @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	㽸
8	

8.1	From  褬פˡߤ᤿(dynamical skip?)

 config.ph ˤƤ

$START_HOOK = q#
	$SKIP{'fukachan@phys.titech.ac.jp'} = 1
		if &AddressMatch($From_address, 'fukachan@phys.titech.ac.jp');
#;

 fukachan@phys.titech.ac.jp ƤΥ᡼ skip ޤ
 actives Ȥ˸ΤƱˤƲ

ʣʤ  Υեå˲äƲ

8.2	off  skip

fml-support: 07144

off ϥ
skip ϴԤȤ褦

Count: 07122 ˤä褦ˡ顼к (ͤΤ餻ᥤ
Ǥ) Ȥ on off matome ΥФˤŪ˸̤˥ᥤä
ޤ(skip ξˤʤ褦ˤƤ)

8.3	Ͽ welcome ᡼뤬֤Τߤ

* fml 3.0 ꡼

libamctl.pl Ȥե : /usr/local/fml/libamctl.pl ) sub
AutoRegist ǤϤޤؿäơκǸ

   &SendFile($from, $WELCOME_STATEMENT, $WELCOME_FILE);

ȤȤޤƤ餦 welcome ޤ
󡣼Τ褦 HOOK  3.0 ꡼ˤϤʤΤǡȥåʲλ
ϤʤǤ

* fml 4.0
    fml 4.0 Ǥϡ˥ȥåʤ꤫Ǥ褯ޤ󤬡
    
    $AUTO_REGISTRATION_HOOK = q#
            sub SendFile {};
    #;
    
    Ȥ HOOK 񤯤ȡwelcome ʤʤޤ

8.4	Ͽ/ʳϸ¤ʤɬ

fml-support: 07271

1. ϿԤ˰᡼(welcome )ʤ
2. Ͽ񤷤ݤΥ᡼Τ
3. äƥޥɤ subscribe  bye ʳפ
ΣĤξ¸ΤϷ빽ݤǤ

 welcome ʤˡ쥷Ԥ⻲ȤƲ

 㤨СΥޥ( subscribe confirm bye )ˤϡ
褦ˤޤ飳ĤϿǤϤǤ

@PermitProcedure = ('subscribe', 'confirm', 'bye');

 ¿ΥޥɤϽ򽪤ȥꥯȤäƤ桼ֻ
   ֤ޤˤ

     &DEFINE_MODE('disablenotify');

ĤȤǤޤޤˤ᤮ƤޤΤ
ʤͤʪǤ

8.5	᡼󥰥ꥹȤؤνƤ˻ʤ٤ʤ

fml-support: 07521 

Q: ᡼󥰥ꥹȤؤνƤ˻ʤ٤ʤ

   A) аʳΥɥ쥹ML̾@xxxxxxxxxx ($MAIL_LIST)
      Ƥϡ
	[1] members ե˼ưϿ롣
	[2] Ƥ줿᡼members롣

	Ǥȥ᡼󥰥ꥹȤػä뤿˲Ƥʤ
	ϤʤʤΤǡޥѤΥɥ쥹ǤϿΤߤԤ褦ˤ
	롣¨

   B) аʳΥɥ쥹ML̾-ctl@xxxxxxxxxx ($CONTROL_ADDRESS)
   إ᡼ϡ

	[1] members˼ưϿ롣

A: config.ph Ǥä tricky  

    $AUTO_REGISTRATION_LINES_LIMIT = -1;
    $START_HOOK = q#
    	if ($Envelope{'mode:ctladdr'}) {
    		$AUTO_REGISTERED_UNDELIVER_P   = 1;
    	}
    	else {
    		$AUTO_REGISTERED_UNDELIVER_P   = 0;
    	}
    #;

Τ褦򤹤롣

8.6	skip ޥɤоݤΥեϡ

fml-support: 07656, 07716

 list1 ,list2 Ȥ᡼󥰥ꥹȤꡢlist1  config.ph 
	push( @MEMBER_LIST, "$DIR/../list2/members" );
Ȥ list1,list2  ޴طˤ롣

 list1,list2 ξ Ʊɥ쥹ϿƤͤ롣

ɤΣ̤ͣΥɥ쥹褦Ȥ뤫

@MEMBER_LIST νˤƤäƤΥɥ쥹ǽ˸Ĥäե
ФԤʤޤ

 config.ph ͤ

  loading config.ph
  @MEMBER_LIST 
  ...

νǽ򤷤Ƥ뤿 list2 list1 νǤ list2 ǤߤĤ
 list2 Τۤˤ򤷤褦ȤƤޤޤ

2.2A ǤʤȤʤ

$START_HOOK = q#
   push( @MEMBER_LIST, "$DIR/../list2/members" );
#;

8.7	᡼󥰥ꥹȤ˻òǽʥ桼Υɥᥤʤ

ưϿ⡼ȤǤϿκݤ¤ˤĤƤ 
$REGISTRATION_ACCEPT_ADDR Ȥѿ¤Ǥޤ
See also: 4.3 remote_control 4.14 
See also: 4.3 remote_control 4.14 

ľܤѿ櫓ʤǤüʽ򤹤뤿 HOOK 
äѤޤꤦǽ򤹤٤ѿˤƤȤ餢äƤ
ɤĤʤΤ

$START_HOOK = q#
   if ($From_address !~ /permit_domain\.co\.jp$/i) {
	&Mesg(*Envelope, 
	   "We permit user@*permit_domain.co.jp can join this list.");
	$DO_NOTHING = 1;
   }
#;

ȤСpermit_domain.co.jp ʳΥ桼ˤϡpermit_domainΤ桼
äǤʤפȥ᡼뤬֤äƽˤǤޤ
$DO_NOTHING = 1 ˤưϿʤɤۤȤƤνԤʤ
ޤ󡣤Ƥξ˶̤ȤѤǤޤ

	$DO_NOTHING = 1		ᥤν򤷤ʤ
				ưϿʤɤۤȤƤν
				ԤʤʤȤˤʤ

ǡᥤƤФʤмưϿ롼ưޤ

   if ($From_address !~ /permit_domain\.co\.jp$/i) {

 From:  permit_domain ʳΥ桼ɽǤ㤨

   if ($Envelope{'h:sender:'} !~ /permit_domain\.co\.jp/i) {

ʤ Sender:  permit_domain.co.jp ʳοͤϻäǤʤȤˤʤ
( Sender: ʤ From: == Sender: ʤ̤Ĥʤ褯ʤ
)

8.8	ؼưϿ٤ġإݥȤǤͤ¤㤽Σ
See also: 4.4 

$REJECT_COMMAND_HANDLER ˤü auto_asymmetric_regist Ȥͤ
ޤǧڤΥꥹȤоΤ˻Ȥ˻Ȥޤ
See also: 4.4 
See also: 4.4 

̤ιͤǤelena  elena-regist ȤĤΣ̤ͣ롣

	elena		(ưϿ)
	elena-regist	ޥ(ưϿꤷƤ)

ɥ쥹񤯥ե

	elena-regist/members	MLΥꥹ(ưϿ)
	elena/members		MLǧڤ˻Ȥꥹ(ưϿ)
				(MLƤǤͤΥꥹ)

ȤĤΣ̤ͣꤹ롣ϿѤ elena-regist elena/cf 
 ACTIVE_LIST  /var/spool/ml/elena-regist/members ˤ롣

   [Ȥή]

	% makefml newml elena
	% makefml newml elena-regist
	% cd /var/spool/ml/elena-regist
	% cp include-ctl include

	*** /etc/aliases Ŭꤹ

	% cd /var/spool/ml/elena
	% makefml edit elena cf

	*** edit cf դ (ACTIVE_LISTꤹ)
	elena/cf 

	ACTIVE_LIST	/var/spool/ml/elena-regist/members

	ä config.ph 롣

	% make config.ph
	% makefml add elena postable-member-address-1
	% makefml add elena postable-member-address-2
	.....

[Discussion]
elena  elena-regist/members  open  elena-regist å
Ƥʤפ餦:)

8.9	ǧڤݤΥɥᥤALIAS %DOMAIN_ALIASES

ǧڤˤ ujauja.or.jp  => ujauja.ne.jp ˽񤭴TRYƤߤ

%DOMAIN_ALIASES = (
	'ujauja.or.jp', 'ujauja.ne.jp',
	);

 fml.pl 2.0.24.47 ؤΥѥå

--- fml.pl.org	Fri Nov 21 08:11:10 1997
+++ fml.pl	Sat Nov 22 12:51:33 1997
@@ -571,6 +571,19 @@
     &Log("Gecos [$e{'macro:x'}]") if $debug;
     $e{'Addr2Reply:'}    = &Conv2mailbox($e{'h:reply-to:'},*e)||$From_address;

+    if (%DOMAIN_ALIASES) {
+       local($addr);
+	if (&MailListMemberP($From_address)) {
+	    ; # not rewrite
+	}
+	else {
+	    for (keys %DOMAIN_ALIASES) {
+		if ($From_address =~ /$_$/i) {
+                   $addr = $From_address;
+		    $addr =~ s/$_$/$DOMAIN_ALIASES{$_}/i;
+                   &MailListMemberP($addr) && ($From_address = $addr);
+		}
+	    }
+	}
+    }
+
     # To: $MAIL_LIST for readability;
     # &RewriteField(*e, 'Cc') unless $NOT_REWRITE_CC;
     if ($REWRITE_TO < 0) { 

8.10	СåκݤΥɥ쥹Υåθ

ɥ쥹Υåˤ᤿꤭Ĥꤷ
See also: address_manipulate 2.1 

8.11	$MAINTAINER Ȥɥ쥹

̤ͣδԤΥɥ쥹Ǥݥݥε⤳Υɥ쥹Ǥ
$MAINTAINER  $MAIL_LIST ƱˤʤäƤȥ顼᡼뤬̤֤ͣ
Ƥ̵¥롼פޤ

󥿡ͥåȤǤŪ listname (ML̾) Ф
listname-request ϴԤΥɥ쥹٤Ǥ뤳Ȥ¿Ǥ(ФǤϤ
ޤ)ä request ȤΤľȿȤ⤢ޤ
ĤͤϤλ¤ȤȤ狼䤹Τ

	listname-admin 		ԤΥɥ쥹
	listname-request 	listname-adminإե

Τ褦ꤷƤޤΤɤΥɥ쥹ƤԤؤ
Υ᡼Ϥ櫓Ǥmakefml ΥǥեȤ listname-admin Ǥ
ץХǤϤ줾꤬äꤹΤդƲ

8.12	ɥ쥹ȿȤ˴

	A	a.list
	B	b.list
	C	c.list

ƼҤǤϼҤΥСꥹȤ

A: config.ph 

	@MEMBER_LIST = (
			"$DIR/a.list",
			"$DIR/b.list",
			"$DIR/c.list",
			);
	@ACTIVE_LIST = (
			"$DIR/a.list",
			"$DIR/b.list",
			"$DIR/c.list",
			);

8.13	ոѥɥ쥹

ոѥɥ쥹MLǤơäƤͤˡ֤ո꤬Ȥ
ޤֻϤФ餯ԤäƤ͡פȼưǱ롣

¤:
ΤƤïǤOKСʳƤMLή
ƼԤguideե֤ʼưϿϤʤˡ

config.ph 1:

    ### sample configuration ###
    $PERMIT_POST_FROM              = "anyone";
    
    # YOU CAN EDIT MANUALLY AFTER HERE.
    $START_HOOK = q# 
       if (! &MailListMemberP($From_address)) { &GuideRequest(*Envelope);} 
    #;

config.ph  2:
guide ǤϤʤguideȤ̤Ѱդե֤
إå⥫ޥ

From: $MAIL_LIST
Subject: Thanks you for your mail

    ### sample configuration ###
    $PERMIT_POST_FROM              = "anyone";
    
    # YOU CAN EDIT MANUALLY AFTER HERE.
    $RECRUIT_ACK_STATEMENT = "Thanks you for your mail";
    $RECRUIT_ACK_FILE      = "$DIR/recruit_reply";
    
    $START_HOOK = q#
        if (! &MailListMemberP($From_address)) {
    	&DEFINE_FIELD_OF_REPORT_MAIL('From', $MAIL_LIST);
            &SendFile($From_address, $RECRUIT_ACK_STATEMENT, $RECRUIT_ACK_FILE);
        }
    #;

8.14	ʣɥ쥹ƤȤϰ( "skip" ޥ)

ʣɥ쥹ƲǽȤϤ륢ɥ쥹äߤ֤
Σ֤Υɥ쥹ȤפʤɤξˤŪǤ
ꤷ actives(ưϿǤ members = actives) 

fukachan@phys.titech.ac.jp	skip

Ƚ񤤤Ƥǧ(ͤå)ˤϻȤϤʤȤư
򤷤ޤĤޤ

	fukachan@phys.titech.ac.jp	skip
	Elena@phys.titech.ac.jp	
	Pollyanna@phys.titech.ac.jp	skip

ˤʤäƤȤȡfukachan,elena,pollyannaɤǤƤϤǤ
elenaˤԤʤʤȤȤǤ

桼ʬǥȥ뤷ʤ顢ޥɤ
 Admin command ǤΤ߰ͭǤ

skip	 []		From:Υɥ쥹 ⤷ Υɥ쥹
			ƤϤǤ뤬ϤʤΤꤹ
noskip []		εա褦ˤ롣

Ǥ㡧
skip 
	From: Υɥ쥹 skip 

skip pollyanna@phys.titech.ac.jp
	pollyanna@phys.titech.ac.jp  skip 

noskip pollyanna@phys.titech.ac.jp
	pollyanna@phys.titech.ac.jp ؤ

8.15	ML-request 򥳥ޥѤΥɥ쥹ˤ

1 	-request 򥳥ޥɤˤ뤿ˤϡ-request  fml.pl 
     	Ƥ֤褦ˤʤФʤޤ󡣤Ĥޤ /etc/aliases ѹ
	listname-request ޥѤ include-ctl Ƥ֤褦ˤƤʤ
	ޤ: elena ML ξ

	elena-request: :include:/var/spool/ml/elena/include-ctl

   ե include-ctl 

	"|/usr/local/fml/fml.pl /var/spool/ml/elena --ctladdr"

Τ褦ˤʤäƤɬפޤ

2 	ޤ᡼ΥإåǤϥޥɤ
	񤤤Ƥޤ桼صΤᥢɥ쥹ѤƲ
	config.ph  ʤ

	$CONTROL_ADDRESS       = "elena-request\@$DOMAINNAME";

ϿɬפޤϤξ $MAINTAINER ɤ뤫Ǥ-
request Τޤޤȥ顼λΤǡ elena-admin ĤäƤ
ñʤ԰ΥեˤȤ褤Ȥ⤤ޤʤߤ˥
եȤ elena-admin ʤΤǤΤޤޤפǤ礦

$Id: examples.wix,v 1.9 2001/02/01 15:11:31 fukachan Exp $


		INDEX

+ ȥå                                 ...   4.13 
/etc/aliases                   ...   4.13 
$AUTO_REGISTERD_UNDELIVER_P                ...   4.12 
$AUTO_REGISTERED_UNDELIVER_P               ...   4.12 
$AUTO_REGISTRATION_DEFAULT_MODE            ...   4.16 
$AUTO_REGISTRATION_HOOK                    ...   4.17 
$AUTO_REGISTRATION_KEYWORD                 ...   4.6 
$AUTO_REGISTRATION_TYPE                    ...   4.5 
$AUTO_REGISTRATION_TYPE                    ...   4.6 
body                                       ...   4.5 
$COMMAND_CHECK_LIMIT                       ...   6.4 6.5 
&Confirm                                   ...   4.10 
$CONFIRM_REPLAY_SUBJECT_FUNCTION           ...   4.10 
$CONFIRM_REPLAY_TEXT_FUNCTION              ...   4.10 
confirmation                               ...   4.5 
$CONFIRMATION_ADDRESS                      ...   4.9 
$CONFIRMATION_EXPIRE                       ...   4.9 
$CONFIRMATION_FILE                         ...   4.9 
$CONFIRMATION_KEYWORD                      ...   4.9 
$CONFIRMATION_LIST                         ...   4.9 
$CONFIRMATION_RESET_KEYWORD                ...   4.9 
$CONFIRMATION_SUBSCRIBE                    ...   4.9 
confirmation mode                          ...   4.9 
$CONTROL_ADDRESS                           ...   7.1 8.15 
$DEFAULT_SUBSCRIBE                         ...   4.6 
distribute-only                            ...   6.3 
$FILE_TO_REGIST                            ...   4.1 
$MAIL_LIST                                 ...   6.3 
$MAINTAINER                                ...   8.11 
$MANUAL_REGISTRATION_CONFIRMATION_FILE     ...   3.1 
$MANUAL_REGISTRATION_TYPE                  ...   3.1 
$MEMBER_LIST                               ...   4.1 4.11 
@MEMBER_LIST                               ...   4.11 
$ML_MEMBER_CHECK                           ...   4.1 
ML-request 򥳥ޥѤΥɥ쥹ˤ    ...   8.15 
no-keyword                                 ...   4.5 
noskip                                     ...   8.14 
$PERMIT_COMMAND_FROM                       ...   6.1 
$PERMIT_POST_FROM                          ...   6.1 
$PROHIBIT_COMMAND_FOR_STRANGER             ...   4.13 
$REGISTRATION_ACCEPT_ADDR                  ...   4.3 
$REJECT_COMMAND_HANDLER                    ...   6.1 
$REJECT_POST_HANDLER                       ...   6.1 
$REQUIRE_SUBSCRIBE                         ...   4.7 4.8 
$REQUIRE_SUBSCRIBE_IN_BODY                 ...   4.8 
s=skip                                     ...   4.14 
skip                                       ...   4.14 8.1 8.14 
%SKIP                                      ...   8.1 
$START_HOOK                                ...   8.1 
subject                                    ...   4.5 
UNIX_FROM                                  ...   8.11 
user@domain ǤʤȼưϿǤʤ       ...   4.15 
user@domain Ǥʤ᡼륢ɥ쥹Ͽоݤˤʤ뤫   ...   4.15 
$WELCOME_FILE                              ...   4.1 
ɥ쥹                                   ...   8.1 
ޥɤѥɥ쥹                     ...   7.1 
ޥѤΥФؤѹ               ...   6.6 
Ф򥤥󥹥ȡ뤷ۥȤΥСμưϿǤʤ   ...   4.15 
ѤΥɥ쥹                       ...   6.3 
ưϿ: body                             ...   4.8 
ưϿ: confirmation (侩)              ...   4.9 
ưϿ: no-keyword                       ...   4.6 
ưϿ: subject                          ...   4.7 
ưϿ: Subject ˥ɤƤ餦   ...   4.5 
ưϿ:                            ...   4.5 
ưϿ: ᡼ʸ˥ɤƤ餦   ...   4.5 
ưϿ: Ͽ˻Ȥɥ쥹               ...   4.5 
ưϿ: ˡvariation                  ...   4.5 
ưϿIntroduction                     ...   4.1 
üŪѤΥФؤѹ               ...   6.6 
ѤΥɥ쥹 ($MAIL_LIST)              ...   6.3 
ʣɥ쥹Ƥϰ(ưϿ⡼)   ...   4.14 
