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

正引き検索テーブル

アドレス転送を自動登録またはソース固有にする必要がある場合には、正引き検索テーブルを使用します。通常、単純なメッセージの転送に正引き検索テーブルを使用することは適切ではありません。このような転送には、aliases ファイルまたはエイリアス検索テーブルを使用するほうが効率的です。デフォルトでは、正引き検索テーブルは一切使用されません。使用するには、USE_FORWARD_DATABASE オプションを使用して明示的に有効にする必要があります。正引き検索テーブルの検索は、アドレス書き換えの後、エイリアス展開が実行され、FORWARD マッピングがチェックされた後で実行されます。正引き検索テーブルの検索が成功した場合、結果の置換済みアドレスを使用して MTA アドレス書き換えプロセスが初めからやり直されます。

正引き検索テーブルに使用できる機構には、メモリ内ハッシュテーブルと従来のデータベースの 2 つがあります。テーブルのサイズが極端に大きい場合を除いて、ハッシュテーブルを使用することをお勧めします (1,000 はそれほど大きいとされない。100,000 が目安)。ハッシュテーブルは、use_text_database オプションにビット 3 (値 34) を設定すること、および use_forward_database を設定することによって有効になります。ハッシュテーブルは、msg_svr_base/configure/forward.txt から読み込まれ、設定の再読み込み可能な部分にコンパイルされます。imsimta reload コマンドを使用すると、これをアクティブな MTA プロセスに再読み込みできます。

正引きデータベースは、crdb ユーティリティーを使用してソーステキストファイルから作成された MTA crdb データベースです。デフォルトでは、ソーステキストファイルは次のような形式になっています。


user1@domain1 changedmailbox1@changeddomain1
user2@domain2 changedmailbox@changeddomain2

ただし、USE_FORWARD_DATABASE オプションでビット 3 が設定されていてソース固有の正引きデータベースの使用が有効になっている場合は、ソーステキストファイルの形式は次のようになります。

source-channel|source-address|original-address changed-address

たとえば、次のようなエントリがあるとします。


tcp_limited|bob@blue.com|helen@red.com  “helen of troy”@siroe.com

この例では、To: アドレス helen@red.com が “helen of troy”@siroe.com にマッピングされます (メッセージの差出人が bob@blue.com で、キューに入れられるチャネルが tcp_limited であると仮定した場合)。