CommuniGate Pro
Version 5.1
アプリケーション
 
 
 
ルール

自動処理ルール

CommuniGate Pro サーバーでは、自動処理ルールを使ってメッセージシグナル を自動的に処理できます。

サーバーワイドの自動処理ルールとクラスタワイドの自動処理ルールはそれぞれ、サーバー経由で 転送されるメッセージとシグナル、クラスタ経由で転送されるメッセージとシグナルに対して機能します。

アカウントレベルの自動処理ルールは、任意のサーバーのアカウントに送信されるメッセージとシ グナルに対して機能します。

ルールにはそれぞれ名前、優先度、条件(のセット)、アクション(のセット) があります。ルール のうち優先度の高いルールが先に使用されます。例えば、優先度が9 のルールは、優先度が1 の ルールより先に適用されます。

メッセージまたはシグナルが ルールのすべての条件に合致した場合、そのメッセージまたはシグ ナルに対してルールのアクションが実行されます。その後、自動処理が終了するか、または優先度 の低いルールがあれば、そのルールが使用されます。

ルールの指定

システム管理者は、サーバーワイドルール(サーバーワイドの自動処理ルール) とクラスタワイド ルール(同左) を指定、操作できます。自動処理ルールには、一般自動処理ルールのほか、メッセー ジ(キュー) の自動処理ルールとシグナルの自動処理ルールがあります。

サーバーワイドのメッセージの自動処理ルールを設定したい場合、WebAdmin インターフェイスの [Settings] セクションの[Queue] ページを開きます。その後、[Rules] リンクをクリックします。
サーバーワイドのシグナルの自動処理ルールを設定したい場合、WebAdmin インターフェイスの [Settings] セクションの[RealTime] ページを開きます。その後、[Rules] リンクをクリックします。

また、システム管理者は、アカウントルールの指定が可能です。指定する場合、[Account Settings] ページのリンクをクリックします。

ユーザーは、WebUser インターフェイスを使って、そのユーザーのルールを指定できます。ユーザー がルールのアクションを指定している場合でも、システム管理者またはドメイン管理者は、そのアク ションを制限できます。

システム管理者またはドメイン管理者は、ドメインワイドルールを指定できます。指定する場合、 [Domain Settings] ページの[Rules] リンクをクリックします。


ルールの作成、名前の変更、削除

ブラウザ上でアカウントルールのページを開くと、ルールのリストが表示されます。ルールは、優先 度を基準にソートされて表示されます。ここで、ルールの名前と優先度を変更できます。各ルールの 集合をアカウントルールセットと呼びます。

重要度 名前    
編集
編集
編集

ルールの名前または優先度を変更した場合、[Update] ボタンをクリックします。クリック後、各 ルールが優先度を基準に並べ替えられます。

[Priority] オプションを[disabled] に設定しておくと、そのルールは使用されません。この場合、 ルールはアカウントルールセットから削除されたわけではなく、再度、有効にすることができます。

新規のルールを作成する場合、[Add Rule] ボタンの右のフィールドに、その名前を入力します。そ の後、[Add Rule] ボタンをクリックします。

既存のルールを削除したい場合、そのルールの右側の[Delete] チェックボックスを選択し、 [Update] ボタンをクリックします。

ルールの条件とアクションを変更する場合、[Edit] リンクをクリックします。


ルールの条件

ルールにはそれぞれ、単一もしくは複数の条件を設定でき、また、条件を設定しないでおくこともで きます。条件を複数設定した場合、条件は、上から順に使用されます。すべての条件が満足される と、そのルールのアクションが実行されます。

条件演算子is またはis not を使って、比較対象がパラメータ(文字列) と一致しているかどうか をチェックできます。パラメータにはアステリスク(*) を指定することもでき、その場合、アステ リスクはワイルドカード、つまりゼロ以上の一致として解釈されます。例えば、比較対象の文字列に @thatdomain という文字列が含まれていることを確認したい場合、is *@thatdomain* と定義し ます。また、比較対象の文字列がsomedomain.com という文字列で終わっていないことを確認したい場合、is not *somedomain.com と定義します。

条件演算子in またはnot in では、パラメータに単一もしくは複数の文字列を指定します。文字列 を複数定義する場合、各文字列をコンマで区切ります。処理では、比較対象の文字列と、パラメータ 指定した文字列が比較されます。条件演算子in の場合、比較対象の文字列が、パラメータに指定し た文字列のうち(複数指定した場合)、いずれかの文字列と同じだった場合、条件が満足されます。 一方、条件演算子not in の場合、比較対象の文字列が、パラメータのいずれの文字列とも異なっ ていたときに、条件が満足されます。
注意: パラメータに文字列を複数定義するときにはコンマで文字列を区切りますが、その場合、コ ンマの前にはスペースを入力しないようにします。スペースを入力すると、そのスペースは、左側の 文字列に属するスペースと解釈されます。同様に、コンマの後にスペースを入力すると、そのスペー スは、右側の文字列に属するスペースと認識されます。

メッセージの自動処理ルールとシグナルの自動処理ルールでは、ルールの条件として次のような条件 を使用できます。

Submit Address [is | is not | in | not in] string
This condition checks the E-mail or Signal submit address.
If the Message or Signal was generated within the Server itself, its submit address is empty.
Otherwise the "submit address" string contains the name of the component that received or generated the
E-mail Message or Signal, and (separated with a space symbol) the network (IP) address the E-mail or Signal came from, optionally followed with the IP port number (separated with a colon symbol).
If the Message or Signal was generated locally, with an internal Server component (such as Rules), the network address field contains [0.0.0.0].
Sample (Queue Rule):
Sample (Signal Rule):
Time Of Day [is | is not | less than | greater than | in | not in] time string
この条件では、ユーザーのタイムゾーン(アカウントレベルのルールの場合) またはサーバーのタイ ムゾーン(サーバーワイドルールの場合) の日付と時刻をもとにメッセージまたはシグナルの選択が 可能です。

例えば、この条件を使って一日のうち特定の時刻にだけ実行されるルールを作成できます。  時刻はtime string に指定します。書式はhh:mm またはhh:mm:ss で、hh は時、mm は分、 ss は秒です。

時刻には、午前または午後を表す接尾辞としてam またはpm を指定できます。
Time strings can contain the am or pm suffix.

in またはnot in を使用する場合、2 つの時刻文字列を対で指定し、その間をマイナス(-) 記 号で区切ります。
in を使用し、2 番目の時刻文字列の値が最初の時刻文字列の値と同じか、大きい場合(例え ば、08:30-5:15pm)、この条件は、8:30 の後で17:15 の前の任意の時刻で満足されることに なります。
また、in を使用し、2 番目の時刻文字列の値が最初の時刻文字列の値より小さい場合(例え ば、22:30-5:15)、この条件は、22:30 の後で5:15 の前の任意の時刻で満足されます。

Sample (Queue Rule):
Current Date [is | is not | less than | greater than] date string
この条件を使って、メッセージまたはシグナルの時刻と日付をチェックできます。例えば、日付と時 刻を指定し、その前または後に受信されたメッセージを選択し、そのメッセージに対してルールのア クションを実行するという処理が可能です。
日付文字列(date string) には、次のいずれかの書式で日付と時刻を指定します。
  • DD MM YYYY
  • DD MM YYYY hh:mm
  • DD MM YYYY hh:mm:ss
  • DD MM YYYY hh:mm:ss +ZZZZ
  • DD MM YYYY hh:mm:ss -ZZZZ
上で、
DD は月の日(数字)です。
MM は英語の3 文字の略語です(下記)
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
YYYY は年です(西暦)
hh は時です。
mm は分です。
ss は秒です。
+ZZZZ or -ZZZZ または-ZZZZ はタイムゾーンです。タイムゾーンを指定しなかった場合、サーバーのタイム ゾーンが使用されます。
例:
Current Day [is | is not | in | not in] day string
この条件では、曜日(サーバーのローカルタイムゾーンの曜日) をもとにメッセージまたはシグナル のチェックが可能です。例えば、特定の曜日に受信されたメッセージを取り出し、ルールのアクショ ンを適用するといった処理が可能です。

日付文字列には、曜日を示す数値(0 が日曜日、6 が土曜日) またはRFC822 略語(Sun、Mon、 Tue、Wed、Thu、Fri、Sat) で曜日を指定します。

例:
Existing Mailbox [is | is not] string
パラメータには、メールボックス名を指定します。このメールボックスが存在するかどうかチェック されます。ここで「存在する」とは、指定した名前を使ってそのメールボックスをオープンでき、か つ、そのメールボックスにメッセージを追加することができることを指します。一方、この条件がア カウントレベルのルールの条件であり、指定したメールボックスが別のアカウントのメールボックス の場合、カレントのユーザーは、そのメールボックスにメッセージを追加できません。したがって、 そのメールボックスは、この条件にとっては「存在しない」ことになります(その結果、この条件で はメッセージは選択されません)。
例:

この条件は通常、ドメインワイドルールで有用です。例えば、カレントのアカウントに特殊メール ボックスが存在するかどうかをチェックし、存在すれば、そのメールボックスにメッセージをコピー するという処理が可能です。

文字列リスト

CommuniGate Pro サーバーでは、文字列のリスト(名前付きリスト) をアカウントデータセット の一 部として保存できます。リストには、単一もしくは複数の文字列を格納(または空) できます。

この文字列リストは、ルールの条件で参照できます。ただし、次の制限があります。 たとえば、下記は、ルールの条件で文字列リストを参照する場合の例です。
Sender    in    #Blocked
この条件では、メッセージの差出人がBlockedSenders という名前の文字列リストに登録されてい るかどうかがチェックされます。

文字列リストは、WebUser インターフェイスの アドレスブックとして使用できます。


ルールのアクション

ルールにはそれぞれ、単一もしくは複数のアクション(またはアクションなし) を定義できます。 ルールに指定した条件がすべて満足された場合、定義したアクションが実行されます。ルールのアクションとしては、次の各アクションがサポートされています。

ルールのアクションのパラメータには、マクロ記号(^X 、X は文字) を使用できます。シグナル の 自動処理ルールと 電子メール の自動処理ルールでは、マクロ記号の処理が異なることがあります。

以下のアクションはいずれも、メッセージの自動処理ルールとシグナルの自動処理ルールの両方で使 用できます。

Reject [error message text]
このアクションは、ルールの最後アクションとして定義しなければなりません。このアクショ ンを定義しておくと、ルールが終了します。また、他のルール(優先度が下位のルール) も実 行されません。条件で選択されたメッセージは拒否され、否定の配信通知がメッセージの送信 者に返送されます。
パラメータには文字列を指定でき、その場合、この文字列がメッセージテキストとして使われ ます。
拒否されたメッセージを格納することもできます。方法は、まず、Store アクションを定義し、 その後、このReject アクションを定義します。
下は、例です。

SendURL [URL]
パラメータ(URL) に指定したリモートWeb サーバーに対して接続が実行されます。また、その サーバーにHTTP GET 要求が送信されます。応答があったときには、その応答は破棄されます。10 秒以内に応答がなかった場合、HTTP 接続は閉鎖されます。
下は、例です。
SendIM [message text]
パラメータ(message text) に指定したメッセージテキストを格納したインスタントメッセージ が送信されます。
メッセージテキストは次の行(アドレス) で始めることもでき、
To: user@domain
その場合、この行で指定したアドレスにインスタントメッセージが送られます。上記の行で始めなかったときには、メッセージはカレントのアカウント(アカウントレベルのルールの場合)、または all (サーバーワイド/ クラスタワイドルール) に送信されます。
下は、例です。
FingerNotify [ address ]
このアクションでは、ネットワークアドレスを指定し、そのネットワークアドレスを使って CommuniGate Pro サーバーからコンピュータに対して接続が実行されるようにできます。接続で はポート79 (Finger ポート) が使われ、また、コンピュータに文字列nm_notifyuser が送ら れます。ネットワークアドレスを指定せず、また、このアクションをアカウントレベルのルー ルで使用した場合、アドレスとしては、直前にログインしたユーザーのアドレスが使用されま す。
This action can be used with the Finger-based utilities (such as
NotifyMail®) installed on client computers.
下は、例です。

このアクションを使う場合、クライアントコンピュータにNotifyMail® ユーティリティがインス トールされていなければなりません。

通知
ログレベル: キューサイズ:

Write To Log string
ログレベルがMajor (レベル2) のログレコードが、メッセージID とパラメータに指定した文 字列とともにシステムログに記録されます。
このアクションを定義できるのは、システム管理者に限定されます。
Remember 'From' in 文字列
このアクションは、アカウントレベルのルールでのみ使用できます。パラメータ(文字列) には、文 字列リストの名前を指定します。文字列リストは、アカウントのデータセットに存在していなければ なりません。または、このアクションの実行に先立ち、作成しておきます。アクションの実行時、メッセージの作成者のアドレス(From アドレス) が文字列リストに追加されます。
リストの要素の数が500 を超える場合、新規の要素は追加されません。

ドメインワイドルール

ドメイン管理者は、管理対象のドメインのルール( ドメインワイドルール) の設定が可能です。 Local Delivery モジュールを介して、そのドメインのアカウントにメッセージが送信された場合、 Local Delivery モジュールによって、そのメッセージに「有効」なルールのセットが適用されます。 「有効」なルールのセットとは、そのアカウントのドメイン、つまり、そのアカウントについて定義 されている全ルールをいいます。

ドメインワイドルールはいずれも(ただし、[Priority] オプションの値が[disabled] に設定されてい るルールは除きます)、アカウントルールの前に使用されます。したがって、いずれかのドメインワ イドルールでStop Processing アクションが実行された場合、アカウントルールはいっさい使用 されません。

注意: ドメインワイドルールは、いわばアカウントルールの「接頭辞」です。つまり、アカウント ルールと同じ環境で、アカウントルールに「成り代わって」、アカウントに使用されます。


クラスタワイドルール

ダイナミッククラスタ 環境の場合、管理者が、WebAdmin インターフェイスで[Settings] セクショ ンの[Rules] ページを開くと、ダイナミッククラスタ専用のリンクが表示されます。このリンクを クリックすると、クラスタワイドルールのリストが表示されます。

クラスタワイドルールのリストの内容は、変更が可能です。変更すると、その変更は、すべてのクラ スタメンバーについて自動的に有効になります。

クラスタメンバーにはそれぞれ、「有効」なサーバーワイドルールのセットがあり、このセットは、 そのクラスタメンバーに設定されているサーバーワイドルールとクラスタワイドルールの「組み合わ せ」として機能します。

サーバーワイドルールとクラスタワイドルールは、その両方が同時に使用されます。その場合、ルー ルが使用される順番は、ルールの優先度属性によって決まります。例えば、優先度が高のクラスタワイドルール、優先度が低のクラスタワイドルール、優先度が中のサーバーワイドルールがある場合、 メッセージには、まず、優先度が高のクラスタワイドルールが使用され、その後、優先度が中のサー バーワイドルール、優先度が低のクラスタワイドルールが使用されます。


CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.