書き換えルールは、MTA 設定ファイルである imta.cnf の上半分に表示されます。設定ファイルに、各ルールが 1 行ごとに記述されています。空白行ではないコメントを、ルールとルールの間に入力できます。書き換えルールは空白行で終わり、その後にチャネル定義が続きます。設定ファイル内の書き換えルールセクションの例を以下に示します。
! test.cnf - 設定ファイルの例。 ! ! これは、単に設定ファイルの例です。 ! システムで使用するためのものではありません。 ! a.com $U@a-host b.org $U@b-host c.edu $U%c@b-daemon d.com $U%d@a-daemon ! 以下、チャネルの定義が続きます。 |
書き換えルールは次の 2 つの部分から構成されます。最初にパターン、その後ろに同等の文字列またはテンプレートを指定します。これらの 2 つの部分は空白文字を挿入して区切る必要があります。ただし、パターンやテンプレート自体に空白文字を使用することはできません。書き換えルールの構造は以下のとおりです。
pattern template |
pattern
ドメイン名の中の検索する文字列を指定します。表 11–3 では、パターンは a.com、b.org、c.edu、および d.com です。
パターンがアドレスのドメインの部分と一致する場合、書き換えルールはアドレスに適用されます。パターンはスペースでテンプレートと区切る必要があります。パターンの構文については、「書き換えルールのパターンとタグ」を参照してください。
template
次のいずれかの形式です。
UserTemplate%DomainTemplate@ChannelTag[コントロール] UserTemplate@ChannelTag[コントロール] UserTemplate%DomainTemplate[コントロール] UserTemplate@DomainTemplate@ChannelTag[コントロール] UserTemplate@DomainTemplate@SourceRoute@ChannelTag[コントロール]
ここで、
UserTemplate は、アドレスのユーザー部分を書き換える方法を指定します。置換シーケンスを使用して、オリジナルのアドレスの一部、またはデータベース検索の結果を表すことができます。書き換えられたアドレスを作成するために、置換シーケンスはそれが表すものと置き換えられます。表 11–4 では、$U という置換シーケンスが使用されています。詳細は、「テンプレートの置換と書き換えルールのコントロールシーケンス」を参照してください。
DomainTemplate は、アドレスのドメイン部分を書き換える方法を指定します。UserTemplate と同様、DomainTemplate には置換シーケンスを入力できます。
ChannelTag は、このメッセージが送信されるチャネルを表します。チャネル定義にはすべて、チャネルタグとチャネル名が必要です。一般に、チャネルタグは書き換えルールとそのチャネル定義に記述されます。
controls を使用して、ルールの適用を制限することができます。コントロールシーケンスの中には、ルールの先頭に指定するものと、ルールの最後に指定するものとがあります。コントロールの詳細は、「テンプレートの置換と書き換えルールのコントロールシーケンス」を参照してください。
テンプレートの構文の詳細は、「書き換えルールテンプレート」