FreeBSD に付属している sendmail は, インターネットに直接 つながっているサイトにあわせて設定してあります. UUCP 経由で mail を交換したい場合には sendmail の設定ファイルを改めてインストール しなければなりません.
/etc/sendmail.cf
を自分の手で改造するのは純粋主義者の
やるような事です. sendmailの version 8 は m4 のような
プリプロセッサを通して設定ファイルを生成する新しいアプローチを
取っており, より抽象化されたレベルの設定ファイルを編集します.
以下のディレクトリの中にある設定ファイルを使用してください.
/usr/src/usr.sbin/sendmail/cf
もしすべてのソースをインストールしていない場合には sendmail の設定ツールは, 別の tar ファイルにまとめてあります. CD-ROM が mount されている場合には, 次のようにしてください.
cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa
これはたった数 100Kbyte ですから心配ないでしょう. cf
ディレクトリにある README
に, m4 での設定の基本的な説明があります.
UUCP での配送のためには, mailertable を使用すれば よいでしょう. これによって, sendmail が配送方式を決定するデータベースを 作成することができます.
まずはじめに, .mc
ファイルを作成しなければなりません.
/usr/src/usr.sbin/sendmail/cf/cf
というディレクトリが,
これらのファイルを作成する場所です. 既にいくつか例があると思います.
これから作成するファイルの名前を foo.mc
とすると,
sendmail.cf
を求めているような形式に変換するには,
次のようにしてください.
cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf
標準的な .mc
ファイルは次のようになります.
include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP
nodns と nocanonify という指定をすることで, mail の配送に DNS を使用しなくなります. UUCP_RELAY という 行に関しては, ある理由から必要ですがそれは聞かないでください. .UUCPで終わる仮想ドメインを処理することのできるインターネット上での ホスト名をここに書いてください. 通常は, ISP の mail リレーホストを 書くことになると思います.
これが終了したら, 次に /etc/mailertable
というファイル
が必要です. 標準的な例は次のとおりです.
# # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax
見れば分かるように, これは実在する設定のファイルです. はじめの
3 行はドメイン名で指定されたメールが default の経路で配送されずに,
``近道'' するために UUCP で隣りのサイトに送るための特別な状況を
処理するものです.
次の行は Ethernet でつながっているローカルのドメインに対しては
SMTP で送るための設定です.
最後に, UUCP での隣りのサイトが. UUCP で終わる仮想ドメインの書式で
指定されており, default の rule を ``uucp-neighbour!recipient''
で上書きするためのものです. 一番最後の行はいつもドットを一つ書きます.
これは, ここまでの行でマッチしなかったすべてのホストにマッチし,
このサイトから世界に向けて出ていくための mail gateway に UUCP
で配送するためのものです.
uucp-dom:
に続けて書かれているノード名は,
uuname
コマンドで指定することによって UUCP
で直接配送される正しいノード名でなければなりません.
最後に, このファイルは使用する前に DBM データベースのファイルに 変換する必要があります. これをおこなうコマンドラインは mailertable の最初のコメントに書いてあります. mailertable を変更した時には, 必ずこのコマンドを実行してください.
最後のヒントです: もし特定のメール配送がうまく作動するかどうか
確かめたい場合には, sendmail の-bt
オプションを
使用してください. このオプションによって sendmail は
アドレステストモードで起動します. ``0 '' の後に
配送したいアドレスを書いてください. 最後の行に, 実際に使用される
mail agent, この mail agent で送られる送信先のホスト, そして
(多分変換されている) アドレスが表示されます. このモードを抜けるには
Control-D を押してください.
j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192%