Sun Java System Messaging Server 6 2005Q4 管理ガイド

書き換えルールの機能

MTA の書き換えルールには、提示された文字列がローカルで処理する必要のあるドメインであるかどうかをチェックする機能が追加されています。この新機能は、メタキャラクタ $V または $Z によってアクティブ化されます。これらの新しいメタキャラクタは、その後にパターン文字列が続くという点で、構文的には従来のメタキャラクタ $N$M$Q、および $C と同様です。$N$M$Q、および $C の場合、パターンはソースチャネルまたは宛先チャネルのいずれかと照合されます。$V および $Z の場合、パターンはドメインであり、チェック内容はそのドメインがローカルであるかどうかです。$V によってローカルドメインでない場合にルールエラーが発生し、$Z によってローカルドメインの場合にルールエラーが発生します。

これらのメタキャラクタの処理は、次の手順で実装します。

  1. Messaging Server は、現在のドメインがディレクトリ内の有効なドメインエントリと一致するかどうかをチェックします。エントリが存在しない場合は、手順 3 に進みます。

  2. そのドメインのエントリがディレクトリ内にある場合、LDAP_DOMAIN_ATTR_ROUTING_HOSTS MTA オプション (デフォルトは mailRoutingHosts) で指定されている属性がドメインエントリから取得されます。この属性が存在する場合、このドメイン内のユーザーを処理できるホストの一覧が示されます。この一覧は、local.hostname configutil パラメータで指定されているホストおよび local.imta.hostnamealiases configutil パラメータで指定されているホストの一覧と比較されます。これらのオプションはそれぞれ、LDAP_LOCAL_HOST および LDAP_HOST_ALIAS_LIST の各 MTA オプションで指定変更できます。一致するものがある場合またはドメインに属性が存在しない場合、ドメインはローカルです。一致するものがない場合、ドメインはローカルではありません。

    mailRoutingHosts 属性が原因でローカルでないと見なされるドメインの処理は、ROUTE_TO_ROUTING_HOST MTA オプションの設定によって異なります。このオプションが 0 (デフォルト) に設定されている場合、アドレスはそのままローカルでないものとして扱われ、MTA の書き換えルールを使用してルーティングが決定されます。このオプションが 1 に設定されている場合、LDAP_DOMAIN_ATTR_ROUTING_HOSTS MTA オプションで最初にリストされている値から成るソースルートがアドレスの先頭に追加されます。

  3. ドメインエントリが見つからない場合、ドメインの左側の構成要素が削除され、手順 1 に戻ります。残っている構成要素がない場合は、手順 4 に進みます。

    ドメインツリーの上位にさかのぼった結果、siroe.com がローカルとして認識された場合、siroe.com のサブドメインはすべてローカルとして認識されます。この方法では望ましくない状況が発生する可能性もあるため、この動作を制御する MTA オプション DOMAIN_UPLEVEL が提供されています。具体的には、DOMAIN_UPLEVEL のビット 0 (値 = 1) を設定解除すると、ドメインの構成要素を削除して再試行する動作は無効になります。DOMAIN_UPLEVEL のデフォルト値は 0 です。

  4. この時点で、バニティードメインのチェックを実行する必要があります。バニティードメインにはドメインエントリがありません。代わりに、特殊なドメイン属性を 1 つまたは複数のユーザーエントリに付加することで、バニティードメインを指定します。バニティードメインのチェックは、DOMAIN_MATCH_URL MTA オプションで指定されている LDAP URL を使用して LDAP 検索を開始することによって実行されます。このオプションの値は次の値に設定する必要があります。

    ldap:///$B?msgVanityDomain?sub?(msgVanityDomain=$D)

    $B によって local.ugldapbasedn configutil パラメータの値が置き換えられます。これはディレクトリ内のユーザーツリーのベースです。LDAP_USER_ROOT MTA オプションを使用すると、この MTA 専用の configutil オプションの値を変更できます。

    この検索で実際に返される値は重要ではありません。重要なのは、返される値があるかどうかです。返される値がある場合は、ドメインはローカルであると見なされます。返される値がない場合は、ドメインはローカルではないと見なされます。