戻る

3402: /tryflags /parse

設定ファイルを試験するには 予め 判っているアドレスリストを 作成し そ れを ルールテストモード ”-bt”で 起動させた sendmail に 与えて 見ると 云う事の 用です 即ち 指定しない場合は ”/tryflags er ”であるのですが この場合は ”/tryflags es ”として 与えて 見ようと いう事です

/tryflags ルールテスト コマンド 再掲 しておくと

発信者/受信者 ヘッダー/エンベロープ に ついて 指定する

/tryflags  h     <---- ヘッダーを 指定
/tryflags  e     <---- エンベロープ を 指定
/tryflags  s     <----発信者を 指定
/tryflags  r     <----受信者を 指定 
/tryflags  er    <----エンベロープ受信者を 指定

指定されなければ ”/tryflags er ”が 選択される

-er : エンベロープの 受信者 デフォルト
-es : エンベロープの 発信者
とあるうちの ”-es”の 方で 試験をしてみると云う事である、へたら そのファ イルを 作成しよう これを bsmplist1 とすると

bsmplist1

内容は

$ cat bsmplist1
/tryflags es
/parse user@lx
/parse user@lx.bcnet.ne.jp
/parse user@nl
/parse nl!user
/parse user

この場合は 試験の結果は とにかくこの場合は 全て hub からと云う事にな ることを 期待するのですが それはともかくまず 試してみよう試験方法は

/usr/sbin/sendmail -Ctest28modefy.cf -bt < bsmplist1 | grep ^mailer

$ /usr/sbin/sendmail -Ctest28modefy.cf -bt < bsmplist1 | grep ^mailer
mailer hub, host nl.bcnet.ne.jp, user user@lx
mailer hub, host nl.bcnet.ne.jp, user user@lx.bcnet.ne.jp
mailer hub, host nl.bcnet.ne.jp, user user@nl
mailer hub, host nl.bcnet.ne.jp, user nl!user
mailer hub, host nl.bcnet.ne.jp, user user

色を 付けてみると

$ /usr/sbin/sendmail -Ctest28modefy.cf -bt < bsmplist1 | grep ^mailer
mailer hub, host nl.bcnet.ne.jp, user user@lx
mailer hub, host nl.bcnet.ne.jp, user user@lx.bcnet.ne.jp
mailer hub, host nl.bcnet.ne.jp, user user@nl
mailer hub, host nl.bcnet.ne.jp, user nl!user
mailer hub, host nl.bcnet.ne.jp, user user

少なくとも mailer としたものは 全て ”hub” と云う事に なっています。 そこで もう一度 ”test28modefy.cf”を 確認しておくと

$ cat test28modefy.cf 
V10/Berkeley
D{REMOTE}nl.bcnet.ne.jp
D{HUB}nyanta.no-ip.info
Cwtuika
Fw -o /home/mm/v_work/atest.cw
Ct root daemon
O QueueDirectory=/home/mm/v_work/fakemqueue
O Timeout.queuewarn=4h
O Timeout.queuereturn=5d
O DeliveryMode=background
O TempFileMode=0600
O DefaultUser=1:1
O LogLevel=9
O OldStyleHeaders=True
O BlankSub=.
HFrom: <$g>			# Add if not exist
HReceived: by $j; $b		# Add Always
H?x?Full-Name: $?x$x$.		# If Poss. Add Full-Name
H?D?Date: $a			# If F=D exist Add $a 
H?M?Message-Id: <$t.$i@$j>	# If F=M then Add Msg-ID
# Precedence placed Normally After Headder command area
Pspecial-delivery=100
Pfirst-class=0
Plist=-30
Pbulk=-60
Pjunk=-100
Mhub,   P=[IPC], S=Hubset, R=0, F=xmDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
Mlocal, P=/bin/mail, F=lsDFMAw5:/|@rmn, S=0, R=0, A=mail -d $u 
S0
R@$+	$#error $: Missing user name
R$+	$#hub $@${REMOTE} $:$1
S3
R$* <> $*	$n				handle <> error address
R$* < $* < $* > $* > $*		$2 < $3 > $4	de-nest brackets
R$* < $* > $*	$2				basic RFC822 parsing
SHubset
R$-	$@ $1@${HUB}
R$-@$=w	$@ $1@${HUB}
R$-@$=w.$m	$@ $1@${HUB}

ついでに grep なしで 試験 を 見ておきましょう

$ /usr/sbin/sendmail -Ctest28modefy.cf -bt < bsmplist1
Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> > Cracked address = $g
Parsing envelope sender address
3                  input: user @ lx
3                returns: user @ lx
0                  input: user @ lx
0                returns: $# hub $@ nl . bcnet . ne . jp $: user @ lx
2                  input: user @ lx
2                returns: user @ lx
4                  input: user @ lx
4                returns: user @ lx
mailer hub, host nl.bcnet.ne.jp, user user@lx
> Cracked address = $g
Parsing envelope sender address
3                  input: user @ lx . bcnet . ne . jp
3                returns: user @ lx . bcnet . ne . jp
0                  input: user @ lx . bcnet . ne . jp
0                returns: $# hub $@ nl . bcnet . ne . jp $: user @ lx . bcnet . ne . jp
2                  input: user @ lx . bcnet . ne . jp
2                returns: user @ lx . bcnet . ne . jp
4                  input: user @ lx . bcnet . ne . jp
4                returns: user @ lx . bcnet . ne . jp
mailer hub, host nl.bcnet.ne.jp, user user@lx.bcnet.ne.jp
> Cracked address = $g
Parsing envelope sender address
3                  input: user @ nl
3                returns: user @ nl
0                  input: user @ nl
0                returns: $# hub $@ nl . bcnet . ne . jp $: user @ nl
2                  input: user @ nl
2                returns: user @ nl
4                  input: user @ nl
4                returns: user @ nl
mailer hub, host nl.bcnet.ne.jp, user user@nl
> Cracked address = $g
Parsing envelope sender address
3                  input: nl!user
3                returns: nl!user
0                  input: nl!user
0                returns: $# hub $@ nl . bcnet . ne . jp $: nl!user
2                  input: nl!user
2                returns: nl!user
4                  input: nl!user
4                returns: nl!user
mailer hub, host nl.bcnet.ne.jp, user nl!user
> Cracked address = $g
Parsing envelope sender address
3                  input: user
3                returns: user
0                  input: user
0                returns: $# hub $@ nl . bcnet . ne . jp $: user
2                  input: user
2                returns: user
4                  input: user
4                returns: user
mailer hub, host nl.bcnet.ne.jp, user user

戻る

にゃんたろう 拝!
2006年11月 9日 (木) 21:21:18 JST 作成

Copyright © 2004.-2007. nyantarou All Rights Reserved.