チャネルレベルのフィルタは、チャネルのキューに入った各メッセージに適用されます。この種のフィルタの一般的な用途は、特定のチャネルから入ってくるメッセージをブロックすることです。
表 17–4 filter チャネルキーワードの URL-pattern の置換タグ (大文字と小文字の区別なし)
タグ |
意味 |
---|---|
* |
グループの拡張を実行します。 |
** |
mailForwardingAddress 属性を拡張します。複数の値を持つ属性を設定して複数の配信先アドレスを生成できます。 |
$$ |
$ 文字に置き換えます。 |
$\ |
後続のテキストを小文字にします。 |
$^ |
後続のテキストを大文字にします。 |
$_ |
後続のテキストで大文字と小文字を変換しません。 |
$~ |
アドレスのローカル部分に関連付けられたホームディレクトリに対するファイルパスに置き換えます。 |
$1S |
$S と同じですが、サブアドレスがない場合は何も行いません。 |
$2S |
$S と同じですが、サブアドレスがない場合は何も挿入せず前の文字を削除します。 |
$3S |
$S と同じですが、サブアドレスがない場合は何も挿入せず後続の文字を無視します。 |
$A |
アドレス (ローカル部分 @ ホスト.ドメイン) に置き換えます。 |
$D |
ホスト.ドメインに置き換えます。 |
$E |
第 2 スペア属性の値 LDAP_SPARE_1 を挿入します。 |
$F |
配信ファイル名 (mailDeliveryFileURL 属性) を挿入します。 |
$G |
第 2 スペア属性の値 LDAP_SPARE_2 を挿入します。 |
$H |
ホストに置き換えます。 |
$I |
ホストしているドメインを挿入します (domainUidSeparator で指定した区切り文字の右側に UID の一部を挿入)。ホストしているドメインがないと失敗します。 |
$1I |
$I と同じですが、ホストしているドメインがない場合は何も挿入しません。 |
$2I |
$I と同じですが、ホストしているドメインがない場合は何も挿入せず前の文字を削除します。 |
$3I |
$I と同じですが、ホストしているドメインがない場合は何も挿入せず後続の文字を無視します。 |
$L |
ローカル部分に置き換えます。 |
$M |
ホストしているドメイン部分を除いた UID を挿入します。 |
$P |
メソッド名を挿入します (mailProgramDeliveryInfo 属性)。 |
$S |
現在のアドレスに関連づけられたサブアドレスを挿入します。サブアドレスは、元のアドレスでサブアドレス区切り (通常は +) に続くユーザー部分の該当する箇所です。ただし、MTA オプションの SUBADDRESS_CHAR で指定することもできます。サブアドレスを指定しないと失敗します。 |
$U |
現在のアドレスのメールボックス部分を挿入します。@ マークの左側のアドレス全体、またはその中でサブアドレス区切りの + より前の部分のいずれかが挿入されます。 |
Sieve を使ってフィルタを記述します。
フィルタを、次のディレクトリのファイルに保存します。
../config/file.filter
ファイルはだれでも読み取り可能で、MTA の uid によって所有されていなければなりません。
次のチャネル設定を定義します。
destinationfilter file:IMTA_TABLE:file .filter
設定をコンパイルしなおし、ディスパッチャを再起動します。
注: フィルタファイルへの変更を有効にするのに、コンパイルしなおしやディスパッチャの再起動は不要です。
destinationfilter チャネルキーワードは、対象チャネルのキューに入るメッセージのフィルタリングを有効にします。sourcefilter チャネルキーワードは、対象チャネルからキューに入るメッセージのフィルタリングを有効にします。これらのキーワードには、それぞれパラメータが 1 つ必要です。このパラメータは、そのチャネルに関連付けられたチャネルフィルタファイルへのパスを指定するものです。
destinationfilter チャネルキーワードの構文は次のとおりです。
destinationfilter URL-pattern |
sourcefilter チャネルキーワードの構文は次のとおりです。
sourcefilter URL-pattern |
URL-pattern は、対象チャネルのフィルタファイルへのパスを示す URL です。次の例で、channel-name はチャネルの名前です。
destinationfilter file:///usr/tmp/filters/channel-name.filter |
filter チャネルキーワードは、対象チャネルにおけるメッセージのフィルタリングを有効にします。このキーワードには、パラメータが 1 つ必要です。このパラメータは、そのチャネルを介してメールを受信するエンベロープの各受取人に関連付けられたチャネルフィルタファイルへのパスを指定するものです。
filter チャネルキーワードの構文は次のとおりです。
filter URL-pattern |
URL-pattern は、特殊な置換シーケンスを処理したあとの URL で、指定した受取人アドレスに対するフィルタファイルへのパスを示します。URL-pattern には、特殊な置換シーケンスを含めることができます。このシーケンスは、受取人アドレス local-part@host.domain から派生する文字列に置き換えられます。表 17–4 に、これらの置換のシーケンスを示します。
fileinto キーワードは、メールボックスフィルタの fileinto 演算子が適用されたときにアドレスをどのように変更するのかを指定するものです。次の例では、フォルダ名をサブアドレスとして元のアドレスに挿入して、元のサブアドレスを置き換えるように指定しています。
fileinto $U+$S@$D |