戻る

3112:Class part 04

他のファイル

これまで クラスコマンド CXlist 等で 追加を してきたが これは sendmail.cf ファイル に 直接 書き込む 方法である これは これで 良いので すが この項目を 別のファイルに 作成しておいて sendmail.cf ファイルに 書 き込むと 同じ ような 効果を 得る方法が 有るようです

Fw/path
Cwtuika                         /*   に対して       */
Fw/home/aruyuser/v_work/test.cw       /*   のようにする   */

Fの 場合は ファイルまでのパス Cの 場合は リスト が来ます この場合クラスの 名前 は 同じ w という風に なります まず Fw/pathを test 用 cf に 追加してみましょう、かなり 長いので 抜粋 です

$ cat test20.cf 
...
Cwtuika
Fw/home/aruyuser/v_work/test.cw
Mhub,   P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
...

ファイルの 無い状態で 立ち上げて 見ましょう

$ /usr/sbin/sendmail -Ctest20.cf -bt 
test20.cf: line 5: fileclass: cannot open\
 '/home/aruyuser/v_work/test.cw': No such file or directory
Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,Hubset koredake
3                  input: koredake
3                returns: koredake
Hubset             input: koredake
Hubset           returns: koredake @ nyanco . kingdom . of . cat
> /quit

なにか おしかりを 受けますが お仕事は して頂けるようです syslog にも きっかり 警告されています。

# tail syslog
.....
Oct  7 22:46:59 nyanco sendmail[516]: NOQUEUE: SYSERR(aruyuser): \
test20.cf: line 5: fileclass: cannot open '/home/aruyuser/v_work/test.cw': \
No such file or directory

これを 抑止する方法が 有るそうです

...
Cwtuika
Fw/home/aruyuser/v_work/test.cw
Mhub,   P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
...
を
Cwtuika
Fw -o /home/aruyuser/v_work/test.cw
Mhub,   P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h

オプション -o を つけます 言い忘れました が ”Fw/path” は ” Fw /path” のように クラスの 名前と パスの間に 空白が 有っても 良いようです。再度起動させます

$ /usr/sbin/sendmail -Ctest20.cf -bt 
Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,Hubset Monnkunasi
3                  input: Monnkunasi
3                returns: Monnkunasi
Hubset             input: Monnkunasi
Hubset           returns: Monnkunasi @ nyanco . kingdom . of . cat
> /quit

素人のにゃんたろうに 取っては 警告された方が 良いように 感じられます が

test.cw 作成

ほたら test.cw を 作成しよう

$ echo infile >test.cw
$ cat test.cw 
infile

test20.cf の試験 test.cw 使用

いってみよう

$ /usr/sbin/sendmail -Ctest20.cf -bt 
Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> $=w
nyanco.kingdom
nyanco
infile
localhost
[127.0.0.1]
nyanco.kingdom.of.cat
tuika
[localhost]
> 3,Hubset infile
3                  input: infile
3                returns: infile
Hubset             input: infile
Hubset           returns: infile @ nyanco . kingdom . of . cat
> /quit

list

では 1式 表示しておきます。

$ pwd
/home/aruyuser/v_work

$ ls -l | sed -e 1d
-rw-r--r--    1 aruyuser       users           7 10月  7日  23:12 test.cw
-rw-r--r--    1 aruyuser       users         503 10月  7日  22:59 test20.cf

$ cat test20.cf 
V10/Berkeley
D{REMOTE}mailhost
D{HUB}nyanco.kingdom.of.cat
Cwtuika
Fw -o /home/aruyuser/v_work/test.cw
Mhub,   P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
Mlocal, P=/bin/mail, F=lsDFMAw5:/|@rmn, S=10, R=20/40, 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}

$ cat test.cw 
infile

ちゃんちゃん

戻る

にゃんたろう 拝!
2006年10月 7日 (土) 23:24:34 JST 作成

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