最初から構成ファイルを構築することは、複雑な作業です。しかし、それはほとんど必要ではなく、既存のファイルを変更することにより、ほとんどすべての状況に対応できます。何をしようとしているのかを理解し、メール配信の方針を見いだすことが重要です。この節では、構成ファイルの目的を説明し、方針についていくつかのヒントを与えます。
RFC 1006 はドメインベースの命名方針について説明しています。また、RFC 822 も、この問題を扱っています。本質的に、各ホストには、明確なルートから右から左へドットで指定された疑似経路の名前を与えられます。経路の要素は物理的なネットワークではなく組織のエンティティです。
RFC 822 と RFC 976 は、あるアドレスのソートがどのように解析されるかを指定しています。ユーザーは、sendmail がこれらのルールに従うか、またはルールを無視するかを設定できます。
方針を確立したら、任意のファイルの主要部分を使用できるかどうかを判断するために、使用可能な構成ファイルを検討します。最悪の条件下でも、収集できる役に立つ情報がかなりあります。
次の段階は、ルールセット 3 を構築し、個々のメールプログラムに対してルールセットを指定することです。ルールセット 3 の構築はこの作業で最も難しい部分です。以下に、いくつかのガイドラインを示します。
ユーザーの行うことのすべてがメッセージに反映されるので、このルールセットで名前に対し多くのことをやりすぎないように留意してください。
このルールセットではローカルドメインを削除しないでください。削除すると、まったくドメイン指定のない名前を残すことになります。sendmail はドメインのない名前に送信ドメインを追加しますが、それは名前のセマンティクスを変更してしまいます。
このルールセットでは完全指定ドメインを与えないでください。技術的には正しくても、完全に指定したドメイン名はメッセージ内容に反映され、不必要に長い名前になる可能性があります。SunOS 構成ファイルではルールセット 9 を定義して、ドメイン名を指定しローカルドメインを削除します。ルールセット 9 はルールセット 0 から呼び出され、すべての名前をよりクリーンな形式にします。
ルールセット 3 を終了すると、他のルールセットは比較的単純になるはずです。ヒントが必要ならば、構成ファイルを検討してください。
構成ファイルを構築する際、sendmail のテストモードを使って一定量のテストを行うことができます。たとえば、sendmail を次のように起動できます。
% sendmail -bt -Ctest.cf |
これにより、構成ファイル test.cf を読み込み、テストモードに入ります。以下に例を示します。
ADDRESS TEST MODE Enter <ruleset> <name> > |
このモードでは、次のように行を入力します。
ADDRESS TEST MODE Enter <ruleset> <name> > rwset name |
ただし、rwset は使用したい書き直しセットで、name はそのセットを適用する名前です。テストモードでは、進行に従ってそのステップを示し、最後の名前を表示します。ルールを順次適用していくように、rwset をカンマで区切ったリストを使用できます。以下に例を示します。
ADDRESS TEST MODE Enter <ruleset> <name> > 3,1,21,4 jupiter:smith |
最初に、ルールセット 3 を入力 monet:bollard に適用します。次にルールセット 1 がルールセット 3 の出力に適用され、同様にルールセット 21 および 24 に続きます。
さらに詳細を必要とする場合は、d21 フラグを使用し、より詳細なデバッグをすることもできます。以下に例を示します。
% sendmail -bt -d21.99 |