|  |  | 次のページ
前のページ
目次へ 
 いくつかエイリアスを作る必要がありその結果sendmailは
you@somemachine.dink.comとyou@pager.dink.comにメッセージを
区別して送ることができます(somemachineとpagerは実際は同じマシンです)。
これを行うためにsendmailエイリアスデータベースを設定する必要があります。 
 
 
 
ファイルを作ります。/etc/domainaliasはhost名「pager」を
実際のhost名に変換します。著者のマシン(luckenbach)では変換ファイルは
以下のようになっています:
        chris@pager.unm.edu      cjs-pager@luckenbach.unm.edu
        droux@pager.unm.edu      nicolas-pager@luckenbach.unm.edu
これは/etc/domainaliasです。これでほとんどできています。
以下のスイッチを付けてコンパイルしたsendmailバイナリを使います;
        -DNDBM -DNEWDB
作ったdomainalias.dbファイルを読む必要のあるデータベース操作コード
に許可を与えます。makemapユーティリティがあることを確認します(sendmail配布パッケージ
の一部です)。準備していなかったらコンパイルしておいて下さい。
これは必要ではないかもしれません。hash, dbm, btreeがサポートされていよう
がなかろうがチェックして下さい。これがどのように行われているかつぎの
ステップをチェックして下さい)
        # cd /usr/src/sendmail-8.7.x/makemap
        # rm Makefile makemap
        # make CFLAGS='-m486 -O2 -I../src -DNDBM -DNEWDB' LDFLAGS='-s 
                -lgdbm -ldb' makemap
        # cp makemap /usr/bin
/etc/sendmail.cfに以下の行を追加します。sendmailが
新しい仮想host名のメールを許可するためです:
     Cw pager.yourdomain.com
/etc/domainaliasesをデータベースフォーマットに変換します:
     makemap btree domainaliases.db < domainalisaes
/etc/sendmail.cfに別の行を追加します。これは
コンパイルした domainaliases.db 変換ファイルをsendmailに指示するためです:
     Kdomainaliases btree /etc/domainaliases.db
ルールセットについて/etc/sendmail.cfに正確に書かれていることを
確認して下さい。エントリはTABで区切られています。SPACEは使わないで下さい!!
これらはS98ルールセットを挿入しています。
PRE 8.7.1 
 
 
        R$+  < @ $+ . >         $: $1 < @ $2 > .
        R$+  < @ $+ . > $*              $: (domainaliases $1@$2 $: $1 < @ $2 > $3 $)
        R$+  < @ $+ . > $*              $: (domainaliases $2 $: $1 < @ $2 > $3 $)
        R$+  < @ $+ > .                 $: $1 < @ $2 . >
 
POST 8.7.1 
 
 
        R$+< $+. >              $1< $2 >
        R$+< $+ >               $: < > $(domainaliases $1$2 $)
        R< > $+ @ $*            $: < $1 > $(domainaliases * @ $2 $)
        R< $+ > * $*            $: < > $1 $2 
        R< > $*                 $: $>3 $1
sendmailデーモンをいったんkillして再スタートし、新しい設定を
有効にします。
    /sbin/killall sendmail
    sendmail -bd -q15m
最後に新しい設定が正しく行われるか確認します。
エラーメッセージは/var/log/maillogに出力されます。
 
lonestar~>  sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 0 chris@PAGER.phys.unm.edu
rewrite: ruleset  0   input: chris @ pager . phys . unm . edu
rewrite: ruleset 98   input: chris @ pager . phys . unm . edu
rewrite: ruleset 98 returns: chris @ pager . phys . unm . edu
rewrite: ruleset 97   input: chris @ pager . phys . unm . edu
rewrite: ruleset  3   input: chris @ pager . phys . unm . edu
rewrite: ruleset 96   input: chris < @ pager . phys . unm . edu >
rewrite: ruleset 96 returns: chris < @ pager . phys . unm . edu . >
rewrite: ruleset  3 returns: chris < @ pager . phys . unm . edu . >
rewrite: ruleset  0   input: chris < @ pager . phys . unm . edu . >
rewrite: ruleset 98   input: chris < @ pager . phys . unm . edu . >
rewrite: ruleset  3   input: cjs-pager @ lonestar . phys . unm . edu
rewrite: ruleset 96   input: cjs-pager < @ lonestar . phys . unm . edu >
rewrite: ruleset 96 returns: cjs-pager < @ lonestar . phys . unm . edu . >
rewrite: ruleset  3 returns: cjs-pager < @ lonestar . phys . unm . edu . >
rewrite: ruleset 98 returns: cjs-pager < @ lonestar . phys . unm . edu . >
rewrite: ruleset  0 returns: $# local $: @ cjs-pager
rewrite: ruleset 97 returns: $# local $: @ cjs-pager
rewrite: ruleset  0 returns: $# local $: @ cjs-pager
 
もしこれがちゃんと動作しなかったり理解できなかった場合はsendmailのエキスパート
に相談してみて下さい。 
 
 次のページ
前のページ
目次へ
 |