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

宛先チャネル固有の書き換えルール ($C、$Q)

メッセージをキューに入れるチャネルに依存する書き換えルールを作成することができます。これは、あるホストに対して名前が 2 つあるような場合に便利です。つまり、1 つのホストグループに認識されている名前と、別のホストグループに認識されている名前とが異なる場合です。異なるチャネルを使って各グループにメールを送ることにより、各グループに知られている名前を使ってホストを参照するようにアドレスを書き換えることができます。

宛先チャネル固有の書き換えは、メッセージを取り出して処理するチャネルと、そのチャネルに関する rules および norules キーワードに関連しています。宛先チャネルに norules が指定されている場合、チャネル固有の書き換えルールチェックは行われません。宛先チャネルに rules が指定されている場合は、チャネル固有の書き換えルールチェックが行われます。デフォルトのキーワードは rules です。

宛先チャネル固有の書き換えは、指定されたアドレスに一致するチャネルとは関係がありません。このタイプの書き換えは、メッセージのエンベロープ To: アドレスのみに依存します。メッセージがキューに入ると、まずそのエンベロープ To: アドレスが書き換えられ、メッセージの送り先チャネルが決定されます。エンベロープ To: アドレスの書き換え中、$C コントロールシーケンスや $Q コントロールシーケンスはすべて無視されます。エンベロープ To: アドレスが書き換えられ、宛先チャネルが決まると、メッセージに関連するほかのアドレスが書き換えられる際に $C および $Q コントロールシーケンスが考慮されます。

宛先チャネル固有の書き換えルールチェックは、ルールのテンプレート部分に $C または $Q コントロールシーケンスがあると実行されます。$C または $Q に続く文字は、アットマーク (@) やパーセント記号 (%)、または後続の $N$M$C$Q$T、または $? までチャネル名と解釈します。

たとえば、$Q チャネルを使用したときにチャネルが宛先チャネルでない場合は、ルールが適用されません。また、$C チャネルを使用したときにチャネルが宛先である場合にも、ルールは適用されません。複数の $Q および $C 句を指定することもできます。複数の $Q 句を使用した場合は、そのうちの 1 つでも一致すれば、ルールが適用されます。複数の $C 句を指定した場合は、そのうちの 1 つでも一致すれば、ルールの適用は失敗に終わります。