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%