CommuniGate Pro
Version 5.1
メッセージ転送
 
 
 
ルール

電子メールの自動処理ルール

CommuniGate Pro サーバーには、自動処理ルールを使って自動的にメッセージを処理する機能が搭載されています。

ここでは、電子メールの自動処理ルールについて説明します。電子メールの自動処理ルールは、 キュールールと呼ぶこともあります。

サーバーワイドルールとクラスタワイドルールはそれぞれ、サーバーに送信された全メッセージ、 クラスタに送信された全メッセージに使用されます。この2 種類のルールはどちらもEnqueuer(エ ンキューア) コンポーネントによって処理(ルールが適用) され、その後、転送モジュールの キューに格納されます。

この場合、ルールはどちらもLocal Deliveryモジュールによって適用されます。ドメインワイドルー ルとアカウントルールはセットになっており、優先度を基準にソートされ、使用されます。この セットをアカウント(レベル) ルールセットと呼ぶこともあり、このセットがアカウントに対して使われます。

ルールの指定

システム管理者は、サーバーワイドルールとクラスタワイドルールを指定できます。指定する場合、 WebAdmin インターフェイスで[Settings] セクションの[Queue] ページを開きます。その後、 [Rules] リンクをクリックします。

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

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

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

ルールの設定については、詳しくは自動処理ルールのセクションを参照してください。


ルールの条件

ルールにはそれぞれ一般(基本)条件を使用できます。一般条件の詳細については、ルールのアク ションの説明を参照してください。
ここでは、電子メールの自動処理ルール(キュールール) で使用できる追加の条件について説明しま す。このほか、上記の一般条件も使用できます。

From [is | is not | in | not in] string
この条件を使って、メッセージのFrom アドレスが、パラメータに指定した文字列に一致す るか(is とin)、または一致しないか(is not とnot in) をチェックできます。 

下は、例です。

この条件は、メッセージが、stalker.com のいずれかのサブドメインのアカウントから送られ たメッセージだった(From アドレスがstalker.com のいずれかのサブドメインのユーザーの アドレスだった) 場合、満足されます。
Sender [is | is not | in | not in] string
To [is | is not | in | not in] string
Cc [is | is not | in | not in] string
Reply-To [is | is not | in | not in] string
上記の4 つの条件は、From 条件と基本的に同じです。それぞれ、メッセージのSender、 Reply-To、To、Cc の各アドレスがチェックされます。

上記の条件のいずれも、メッセージに同一種類(例えば、To) のアドレスが複数あった場 合、その中のいずれか1 つのアドレスがパラメータの文字列(のいずれか) に一致したとき (is とin)、または一致しなかったとき(is not とnot in) に条件が満足されます。指定さ れている種類(From) のアドレスがメッセージになかったときには、条件は満足されませ ん。

Any To or Cc [is | is not | in | not in] string
処理は、上記の条件と基本的に同じです。ただし、この条件では、メッセージのTo アドレ スとCc アドレスがすべてチェックされ、その中のいずれか1 つのアドレスがパラメータの 文字列(のいずれか) に一致(is とin)、または一致しなかった(is not とnot in) とき に条件が満足されます。メッセージにTo アドレスとCc アドレスが何もなかったときには、 条件は満足されません。
Each To or Cc [is | is not | in | not in] string
この条件では、メッセージのTo アドレスとCc アドレスの両方がチェックされ、すべてのア ドレスが一致(is とin) または一致しなかった(is not とnot in) 場合、条件が満足され ます。また、メッセージにTo アドレスまたはCc アドレスが何もなかったときにも、条件が 満足されます。

下は、例です。

上の条件は、メッセージのTo アドレスとCc アドレスがすべて、ドメインmycompany.com のアドレス、または、ドメインmydept.mycompany.com のアドレスだった場合、満足されま す。
Return-Path [is | is not | in | not in] string
この条件では、メッセージのリターンパス(またはMAIL FROM) がパラメータの文字列と比較されます。
'From' Name [is | is not | in | not in] string
この条件の処理は、上の条件と基本的に同じです。ただし、リターンパスではなく、From アドレスの中の「アドレスコメント」(実名) がチェックされます。

下は、例です。

この条件は、From: アドレスが次の場合だったときに満足されます。
From: jsmith@company.com (John J. Smith)
From: "Bill J. Smith" b.smith@othercompany.com
From: Susan J. Smith <susan@thirdcompany.com>
Subject [is | is not | in | not in] string
この条件では、文字列(件名)を指定し、その文字列とメッセージの件名が一致(is)する か、または一致しない(is not)かをチェックできます。

下は、例です。

上の条件は、メッセージの件名が次の場合だったときに満足されます。
Subject: we urgently need your assistance
Subject: Urgent!
Message-ID [is | is not | in | not in] string
この条件では、メッセージID が、パラメータに指定した文字列に一致するか(is とin)、 または一致しないか(is not とnot in) をチェックできます。

下は、例です。

上の条件は、メッセージID がない場合、またはメッセージID に@ が使われていない場合、 満足されます。
Message Size [is | is not | less than | greater than] number
この条件では、メッセージのサイズ(単位はバイト数) を指定し、そのサイズを下回るメッ セージ、または、そのサイズを上回るメッセージをチェックできます。

下は、例です。

上の条件は、メッセージのサイズが100 キロバイトを超えていた場合、満足されます。
Human Generated
この条件では、メッセージが自動メッセージ生成ソフトウェアによって作成されたかどうか をチェックできます。
注意: この条件にはパラメータはありません。したがって、処理コード(演算子) とパラ メータ値(指定した場合) はすべて無視されます。

この条件では、処理時、メッセージヘッダに次のフィールドが置かれていないかどうか チェックされます。このチェックにより、メッセージが自動メッセージ生成ソフトウェアに よって作成されたかどうかが判定されます。

Precedence: bulk
Precedence: junk
Precedence: list
X-List*
X-Mirror*
X-Auto*
X-Mailing-List
この条件では、また、メッセージリターンパスが空白かどうかもチェックされます。
Header Field [is | is not | in | not in] string
この条件では、メッセージのRFC822 ヘッダに、パラメータに指定したヘッダフィールドが 含まれているか(is とin)、または、含まれていないか(is not とnot in) をチェックで きます。この条件ではまた、Add Header 処理(下記を参照) で追加されたヘッダフィールド もチェックされます。

下は、例です。

Any Recipient [is | is not | in | not in] string
この条件では、メッセージのエンベロープアドレス( メッセージの「封筒」にかかれている 宛名) が、パラメータに指定した文字列と比較されます。この条件をアカウントレベルの ルール(アカウントルール) として使用した場合、そのアカウントにルートされるアドレス だけがチェックされます。

この条件では、アドレスは、ルーティングテーブル、その他の方法で処理される前の形式で 処理されます。また、アドレスにエイリアスが複数設定されている場合、エイリアスも チェックされます。したがって、パラメータに特定のエイリアスを指定して、アドレスを チェックすることもできます。

中には、メッセージがESMTP ORCPT パラメータを使って別のサーバーに送信されることも あります。このパラメータは通常、リレー/ 転送サーバーで使われ、このパラメータを使う ことで、そのサーバーで作成されるアドレスの形式(送信先のサーバーでオリジナルのアド レスを取得できるかどうか) を指定できます。その後、アドレスがリレー/ 転送サーバー上 で変換されます。

下は、この処理の例です。
  • メッセージがいずれかのサーバーで作成され、アドレスuser1@domain1.com に送られま す。
  • メッセージがサーバーdomain1.com で受信され、エンベロープアドレスが user2@domain2.com に変換されます( メール転送)。
  • メッセージが、サーバーdomain1.com からCommuniGate Pro サーバーdomain2.com にリ レー送信されます。
  • CommuniGate Pro サーバーdomain2.com でメッセージが受信されます。
  • CommuniGate Pro サーバーdomain2.com 上で、user2 がuser3 のエイリアスであることが検 出され、メッセージがuser3 にルートされます。
上で、サーバーdomain1.com が最近の高機能サーバーのときには(ESMTP ORCPT パラメー タをサポート)、オリジナルのアドレスがuser1@domain1.com であることがCommuniGate Pro サーバーdomain2.com に通知されます。この場合、CommuniGate Pro サーバーdomain2.com では、文字列<user1@domain1.com> (オリジナルのアドレス) を使って、この条件 (Recipient) が実行されます。

一方、サーバーdomain1.com からオリジナルのアドレスがCommuniGate Pro サーバー domain2.com に通知されなかったときには(ESMTP ORCPT パラメータなし)、文字列 <user2@domain2.com> を使って、この条件(Recipient) が実行されます。

この条件は、エンベロープアドレスのうち少なくても1 つが該当すれば、満足されます。
Each Recipient [is | is not | in | not in] string
この条件は、上の条件と基本的に同じです。ただし、この条件は、すべてのエンベロープア ドレス(アカウントレベルのルールの場合、そのアカウントにルートされるすべてのエンベ ロープアドレス) が該当したときに満足されます。
Source [is | is not | in | not in] string
この条件では、メッセージが「信頼」できるソースからのメッセージ(つまり、[Client IP Addresses] リストに登録されているネットワークアドレスのコンピュータからSMTP を介し て送信されたメッセージ) であるかどうか、または、「正規」のソースからのメッセージ (SMTP、WebUser、MAPI、POP XMIT、ルールなどを介して、そのオリジナルの送信元が検 証、認証されたメッセージ) であるかどうかをチェックできます。

下は、例です。

Security [is | is not | in | not in] string
この条件では、メッセージが暗号化されているかどうか、また、署名付きであるかどうかを チェックできます。指定できる文字列(string)は次の通りです。
SMIME:encryptedメッセージがS/MIME 標準を使って暗号化さ れているかどうかをチェック。
SMIME:signedメッセージがバイナリS/MIME 標準(PKCS7) を使ってデジタル署名されているかどうかを チェック。
signedメッセージがデジタル署名されているかどう かをチェック。
 上記以外の場合、空白。

下は、例です。

The following conditions can be used in Server-Wide Rules only:

Any Route [is | is not | in | not in] string
この条件では、メッセージの「エンベロープ受取人」アドレス(サーバー内部で使われるア ドレス情報で、この情報を使ってサーバー上でメッセージが配信されます) をチェックでき ます。処理では、受取人のアドレスのルーティング情報と、パラメータに指定した文字列が 比較されます。

この条件は、エンベロープ受取人アドレスのうち(複数指定した場合)、いずれか1 つが一致すれば満足されます。

アドレスのルーティング情報は、次の形式で表されます。

module(queue)address
上で、moduleはアドレスのルート先のモジュールの名前、queueはアドレスのルート(格納) 先のキュー、addressはキューの中のアドレスです。
例えば、エンベロープ受取人アドレスがuser@domain の場合、そのアドレスのルーティン グ情報は次のようになります。
SMTP(domain)user@domain(domain がリモートドメインの場合)
LOCAL(user)(domain がメインドメインの場合)
LOCAL(user@domain)(domain がCommuniGate Pro のセカ ンダリドメインの場合)
WebAdmin インターフェイスの[Router] ページには[Test] ボタンがあります。この条件を 使用する場合、あらかじめ[Test] ボタンを使ってアドレスがどのようにルートされるかを 確認し、その後、条件を定義するのが効率的です。
Each Route [is | is not | in | not in] string
この条件は基本的に上記の条件と同じですが、メッセージのエンベロープアドレスがすべて 一致した場合(または、すべて一致しなかった場合) に満足されます。

ルールのアクション

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

ルールにはそれぞれ一般(基本)アクションを使用できます。一般アクションの詳細については、ルールのアクションの説明を参照してください。ここでは、電子メールの自動処理ルール(キュー ルール)で使用できる追加のアクションについて説明します。このほか、上記の一般アクションも使 用できます。

Stop Processing
このアクションについては、詳しくは自動処理ルールのセクションを参照してください。こ のアクションを定義しておくと、ルールが終了しメッセージがINBOX メールボックスに格 納されます。
Discard
このアクションは、ルールの最後のアクションとして定義しなければなりません。このアク ションを定義しておくと、ルールが終了します。また、他のルール(優先度が下位のルー ル) も実行されません。条件で選択されたメッセージは破棄され、したがって、INBOX メー ルボックスに格納されることはありません。ただし、配信通知(Delivery Notification) は メッセージの送信者に返送されます(設定されている場合)。
下は、例です。
IF From is *that_annoying_guy@*
THEN
Discard
Reject With [error message text]
このアクションについては、詳しくは自動処理ルールのセクションを参照してください。  パラメータには文字列を指定でき、その場合、この文字列がメッセージテキストとして使わ れます。拒否されたメッセージを格納することもできます。方法は、まず、Store アクショ ンを定義し、その後、このReject アクションを定義します。
下は、例です。
IF Subject is *UCE*
THEN
Reject   please do not send such messages here
Mark flagName [, flagName...]
このアクションでは、メッセージのフラグを指定し、そのフラグをセットまたはリセットで きます。通常、メッセージのフラグ(のセット) は初めは空です。ただし、メッセージに何 らかの記録済みメディア(ボイスメール、ビデオメール) が格納されているときには、メ ディアフラグがセットされています。
  • the Media flag - if the message contains a voicemail or videomail (if the message has the audio/*, video/*, or multipart/voice-message Content-Type).
  • the Hidden flag - if the message header contains the Sensitivity field with the private value.

フラグ名(flagName) を指定しておくと、そのフラグがメッセージに設定されます(名前 はセットで指定できます)。一方、フラグ名の逆名を指定しておくと、そのフラグが削除さ れます。
Store in アクションの結果、メッセージがメールボックスに格納される場合、または全ルールが適用されたためメッセージがINBOX に格納される場合、このアクションで指定したフ ラグとともにメッセージが格納されます。
下は、例です。
IF Sender is *list*
THEN
Mark Flagged,Read
Add Header header fields
このアクションでは、メッセージにRFC822 ヘッダフィールドが追加されます。デフォルト では、Return-Path フィールドが追加されます。このフィールドは、メッセージのエンベ ロープのリターンパスをもとに自動的に生成されます。
指定したフィールドは、Store アクションでメッセージがメールボックスが格納される際、 また、すべてのルールの実行後、メッセージがINBOX メールボックスに格納される際、そ のメッセージのフィールドとして格納されます。
下は、例です。
IF Subject is *purchase*order*
THEN
Add Header X-Special-Processing: order
Add Header アクションでは、X-Color フィールドを追加することもできます。X-Color フィー ルドは、WebUser インターフェイスで検出されます。このフィールドがある場合、メール ボックスのメッセージがハイライトされます。

下は、例です。

IF Header Field is X-Spam: *
THEN
Add Header X-Color: red
Tag Subject tag
このアクションに文字列(tag) を指定しておくと、その文字列が件名(Subject) ヘッダ フィールドに追加されます。
メッセージの保存、送信、コピー、外部プログラムへの送信の際、ここで指定したタグが件 名ヘッダフィールドの先頭に挿入されます。

下は、例です。

IF From is ceo@mycompany.dom
THEN
Tag Subject [CEO]

このTag Subject アクションは、複数作成して同じメッセージに使用することもできます。そ の場合、直前に使用されたTag Subject アクションのタグが先頭に追加され、その次のTag Subject アクションのタグが2 番目に(その後も同じ) 追加されます。最後にメッセージの件 名が配置されます。
注意: 以下のアクションではいずれも、自動的にオリジナルのメッセージが破棄されること はありません(オリジナルのメッセージはINBOX に格納されます)。したがって、メッセー ジをINBOX に残さないで別のメールボックスにリダイレクトしたい場合、Redirect アクショ ンを指定し、その後、Discard アクションを指定します。
Store in mailbox name
このアクションでは、アカウントのメールボックスを指定し、そのメールボックスにメッ セージをコピーできます。指定するメールボックスは、既存のメールボックスでなければな りません。

下は、例です。

IF From is developer@partner.com
THEN
Store in DeveloperBox
Discard
パラメータのメールボックスの名前(mailbox name) を~user_name/mailbox_name の形式で指定した場合、メッセージは、user_name で示されるアカウントのmailbox_name で 示されるメールボックスに格納されます。この形式で指定する場合、そのメールボックスに ついて[Insert] (挿入) アクセス権がなければなりません。

下は、例です。

IF Subject is *Make*$*
THEN
Store in ~postmaster/abuse
Discard
指定したメールボックスがオープンできない場合、または、指定したメールボックスにメッ セージを格納できない場合、ルール処理は終了します(Stop Processing アクションの処 理と同じです)。
Store Encrypted in mailbox name
このアクションの機能は、Store in アクションと基本的には同じです。ただし、メッセージ はS/MIME 暗号化形式に変換された後、保存されます。
Redirect to addresses
このアクションでは、パラメータに単一もしくは複数の電子メールアドレスを指定し、その アドレスにメッセージをリダイレクトできます。電子メールアドレスを複数指定する場合、 各アドレスをコンマ(,) で区切ります。
指定したアドレスは、メッセージのTo/Cc フィールドの内容として使われます。ただし、ア ドレスの接頭辞として文字列[bcc] を付加しておくと、この置き換えは行われません。
リダイレクトされるメッセージのリターンパス(Return-Path) として、カレントのアカウン トの電子メールアドレスが挿入されます。または、このアクションをサーバーワイドルール またはクラスタワイドルールで使用している場合、アドレスとしてMAILER-DAEMON が挿 入されます。また、同じアドレス(カレントのアカウントの電子メールアドレスまたは MAILER-DAEMON) がメッセージヘッダのSender フィールドに挿入されます。
Return-Path フィールド(ある場合) は、X-Original-Return-Path フィールドに変更されます。
Return-Receipt-To フィールドとErrors-To フィールドは削除されます。
Message-ID、Date、Sender の各フィールド(ある場合) の名前はそれぞれ、X-Original- Message-ID、X-Original-Date、X-Original-Sender に変更されます。
Date フィールドとMessage-ID フィールドが新たに作成されます。
Forward to addresses
このアクションでは、アドレスを指定し、そのアドレスにメッセージを転送できます。この アクションは、上のRedirect アクションと基本的に同じですが、リターンパスアドレスは、 Sender フィールドには挿入されません。代わりに、リターンパスアドレスは、新規のFrom アドレスとして使われます。
既存のFrom フィールドは、その名前がX-Original-From フィールドに変更されます。
Mirror to addresses
このアクションでは、アドレスを指定し、そのアドレスにメッセージをミラー( リダイレク ト) できます( このアクションの場合、ヘッダの変更は最低限に抑えられます)。
リダイレクトされるメッセージのリターンパスは、そのまま維持されます。
Resent-From ヘッダフィールドが追加されます。このフィールドには、カレントのユーザー の電子メールアドレスが格納されます(実名は格納されません)。このアクションをサー バーワイドルールまたはクラスタワイドルールで使用している場合、Resent-From ヘッダ フィールドには、アドレスとしてMAILER-DAEMON が挿入されます。
Return-Path フィールド(ある場合) は、X-Original-Return-Path フィールドに変更されます。
Return-Receipt-To フィールドとErrors-To フィールドは削除されます。
Reply with message text
このアクションでは、テキストを指定し、そのテキストを応答メッセージ(自動応答メッ セージ) として使用できます。応答メッセージは、オリジナルのメッセージのReply-To フィールドに指定されているアドレスに送信されます。Reply-To ヘッダフィールドが空の場 合、応答メッセージは、オリジナルのメッセージのFrom フィールドに指定されているアド レスに送信されます。

応答メッセージには、Subject: Re: オリジナルのメッセージの件名とIn-Reply-To: オリジナルのメッセージID の2 つのヘッダフィールドが自動的に追加されます。

パラメータ( メッセージテキスト) には、マクロ記号を使用できます。指定したマクロ記号 は、応答メッセージが作成されるときに実際のデータに置き換えられます。使用できるマク ロ記号と処理は、次のとおりです。

^S を指定した場合、オリジナルのメッセージの件名に置き換えられます(形式は、オリ ジナルのメッセージと同じです)。
^s を指定した場合、オリジナルのメッセージの件名に置き換えられます(形式は、MIMEデコード形式が使われます)。
^F を指定した場合、オリジナルのメッセージのFrom アドレスに置き換えられます(形式は、オリジナルのメッセージと同じです)。
^f を指定した場合、オリジナルのメッセージのFrom アドレスに置き換えられます(形式は、MIME デコード形式が使われます)。
^T を指定した場合、オリジナルのメッセージのDate フィールドの内容に置き換えられます。
^I を指定した場合、オリジナルのメッセージのMessage-ID フィールドの内容に置き換えられます。
^R を指定した場合、オリジナルのメッセージのTo フィールドの内容に置き換えられます(形式は、MIME デコード)。
^r is substituted with the E-mail address of the current Account.

下は、例です。

Reply with

メッセージのヘッダに文字列を挿入したい場合、パラメータ( メッセージテキスト) の前に "+" 記号を付加し、その下の各行に文字列を指定します(下記の例を参照)。これで、"+" 以 下の各行がヘッダに挿入されます。なお、"+" 記号を使用する場合、Subject フィールドも入 力しなければなりません。理由は、この処理の場合、Subject: Re: オリジナルのメッ セージの件名とIn-Reply-To: オリジナルのメッセージID の2 つのヘッダフィールド が自動的に応答メッセージに追加されなくなるためです。

"+" 行の下の部分には、Subject フィールドのほか、To、Cc、Bcc の各フィールドも指定で きます。指定した場合、応答メッセージは、各フィールドのアドレスにも送信されます(な お、Bcc フィールドを指定した場合、そのアドレスに応答メッセージは送信されますが、Bcc フィールド自体はメッセージヘッダから削除されます)。

"+" 行の下の部分にFrom フィールドを指定しなかった場合、通常のFrom フィールドにア カウントのアドレスが挿入されます。From フィールドを指定したときには、Sender フィールドにアカウントのアドレスが挿入されます。

"+" 行の下の各ヘッダフィールドには、^S などのマクロ記号も使用できます。

記述が終われば、"+" 行の下の部分の最後に空白行を挿入します。これで、"+" 行の下の部分 と本文( メッセージテキスト) が区切られます。

Reply with

テキストの前にキャラクタセットを示す文字列([charsetName] ) を指定しておくと、テ キストが、そのキャラクタセットに変換されます(非ASCII 文字はすべてUTF-8 キャラクタ セットで保存されます)。キャラクタセットを示す文字列を指定しなかったときには、受信 メッセージで指定されているキャラクタセットが使用されます。受信メッセージにキャラク タセットが指定されておらず、このルールがアカウントレベルのルールだった場合、アカウ ントWebUser プレファレンスで指定されている優先キャラクタセット(Preferred Charset) が使われます。

テキストの先頭に"+" 記号を付加する場合(上の例)、まずキャラクタセットを示す文字列 ([charsetName] ) を指定し、その後、"+" を入力します。

ヘッダ("+" 記号の部分) にMIME-Version フィールドとContent-Type フィールドを指 定しなかったときには、この2 つのフィールドは自動的にメッセージに追加されます。

Reply to All with message text
このアクションは、上記のReply with と基本的に同じですが、応答メッセージは、オリジナ ルのメッセージのTo: とCc: の各フィールドに指定されているアドレスすべてに送信されま す。
React with message text
このアクションは、Reply with アクションと似ていますが、メッセージ本文の上にヘッダ ( と空白行) を指定できます。ヘッダとしては、To、Cc、Bcc の各フィールド(任意の数だ け指定可) のほかSubject フィールド、また任意の数のフィールドを指定できます。
メッセージは、指定したアドレスに送信されます。

ヘッダとメッセージ本文には、マクロ記号(上記を参照) を使用できます。

From、Sender、MIME-Version、Content-Type の各フィールドは、Reply with アクショ ンと同じように扱われます。

下は、例です。

React with
また、テキストの前にキャラクタセットを示す文字列([charsetName] ) を指定すること もできます。

下は、例です。

React with
Execute command line
パラメータにコマンドを指定し、そのコマンドを別個のOS プロセス( タスク) として実行 できます。
実行時、メッセージテキスト(ヘッダと本文) がタスクに送られます。メッセージテキスト は、そのタスクの標準入力( stdin) として使われます。
注意: タスクでは、標準入力データストリーム全体が読み込まれなければなりません。そう でない場合、このExecute アクションは失敗します。

コマンドテキスト(コマンドライン) には、下記のように、接頭辞として[FILE] タグを付 加できます。

[FILE] myprogram parm1 (myprogram =プログラム名、parm1 =パラメータ1)
この接頭辞を付加した場合、タスクの標準入力は空(閉鎖) の状態になり、次の文字列(-f はフラグ、fileid はメッセージファイルの名前で、ベースディレクトリからの相対パス) がコマンドテキストの末尾に追加されます。
The string -f Queue/fileid.msg 例えば、下記の文字列がコマンドテキストの末尾に付加されます。
-f Queue/12002345.msg

注意: 通常、一般のユーザーにはベースディレクトリへのアクセス権は付与されていませ ん。その場合、接頭辞[FILE] は、サーバーワイドルールでのみ使用できます。

コマンドテキストには、下記のように、接頭辞として[RETPATH] タグを付加できます。

[RETPATH] myprogram parm1
この接頭辞を付加しておくと、下記の形式で、コマンドテキストの末尾に文字"-p" とメッ セージのリターンパスアドレスが追加されます。
-p "address@domain.com"

コマンドテキストには、下記のように、接頭辞として[RCPT] タグを付加できます。

[RCPT] myprogram parm1
この接頭辞を付加しておくと、下記の形式で、コマンドテキストの末尾に文字"-r" とメッ セージの受取人アドレスのリストが追加されます。
-r "address1@domain1.com" "address2@domain2.com"

コマンドテキストには、下記のように、接頭辞として[ORCPT] タグを付加できます。 

[ORCPT] myprogram parm1
この接頭辞を付加しておくと、下記の形式で、コマンドテキストの末尾に文字"-r" とメッ セージの受取人アドレスのリストが追加されます。この接頭辞の場合、受取人アドレスが、 「オリジナルの受取人」パラメータ(ESMTP ORCPT パラメータ) とともに提供された場合、 そのオリジナルのアドレスが使われます。 
-r "origAddress1@domain1.com" "origAddress2@domain2.com"

注意: [RCPT] と[ORCPT] は同時に使用することはできません。

A command text in an Account-Level Rule can be prefixed with the [ACCNT] tag:

[ACCNT] myprogram parm1
When this prefix is specified the -u string followed by the Account name is added to the command text:
-u "accountName@domainName"

A command text in a Server-Wide Rule can be prefixed with the [ROUTE] tag:

[ROUTE] myprogram parm1
When this prefix is specified the string -R followed by the Routed recipient addresses is added to the command text:
-R "LOCAL(accountName@domainName)" "SMTP(example.com)user@example.com"
See the conditions section for the Route data format information.

コマンドテキストには、接頭辞として[STDERR] タグを付加できます(下記を参照)。

コマンドテキストには、上記の接頭辞を任意の順番で複数指定することができます。ただ し、追加の順番は決まっています。例えば、[FILE]、[RETPATH]、[RCPT] の3 つの接頭辞を

指定した場合、その順番にかかわらず、まず-f フラグとそのパラメータ、次に-p フラグと そのパラメータ、最後に-r フラグとそのパラメータという順番で追加されます。

タスクが完了すると、タスクの終了コードがチェックされます。チェックで、終了コードが 0 の場合、アクションの処理は成功したと解釈されます。この場合、次のアクションが実行 されます。タスクの終了コードが0 以外だった場合、メッセージに対する処理は拒否され、エラーコー ド("automated processing failed") が出力されます。また、タスクの標準エラー チャンネルから出力されたデータが、タスクの終了コードとともにログに記録されます。 
コマンドラインに接頭辞[STDERR] が付加されていたときには、標準エラーチャンネル(あ る場合) に書き込まれたデータを使って、エラーレポートが生成されます。

タスクの標準出力から出力されるデータのサイズは(プログラムでデータが出力される場 合)、4K バイトを超えないようにしなければなりません。このサイズを超えると、その情報 がログに記録された後、データが廃棄されます。

タスクの実行中、その処理がCommuniGate Pro サーバーで監視されます。タスクが2 分以内 に完了しなかった場合、その処理は中断されます。

Execute アクションをアカウントレベルのルールで使用した場合、アカウントのOS ユーザー 名設定を使ってOS ユーザー名が生成されます。また、タスクは、OS ユーザー環境で実行 されます。

CommuniGate Pro をUnix システムで動作させている場合、タスクには、Unix システムで使わ れているユーザーID、グループID、グループセットが割り当てられます。また、タスクの カレントディレクトリとしては、Unix のユーザーホームディレクトリが使われます。
MS Windows、AS/400、BeOS のいずれかでCommuniGate Pro Server を動作させている場合、 Execute アクションをアカウントレベルのルールで使用することはできません。
Execute アクションのタスクがサーバーワイドルールで実行される場合、そのタスクは、 CommuniGate Pro サーバーの独自の環境で起動されます(つまり、ベースディレクトリがカ レントディレクトリとして使われます)。

下は、例です。

Execute
ExternalFilter
This action tells the Server to pass the message to an External Filter program. This action can be specified only in the Server-Wide Rules. The parameter specifies the name of the External Filter program to use.

下は、例です。

ExternalFilter
Accept Request options
このアクションを使って、サーバーから外部フィルタプログラムにメッセージを渡すことが できます。このアクションは、サーバーワイドルールでのみ使用が可能です。パラメータと しては、外部フィルタのプログラム名前を指定します。

休暇メッセージ

アカウントにはいずれも、休暇メッセージ(たとえば、「休暇中のため、後日連絡をお願いします」 など) 生成用のルールがデフォルトで用意されています。このルールを有効にしておくと、メッセー ジが自動生成メッセージであるかどうか、また、メッセージの作成者(From アドレス) が文字列リ ストRepliedAddresses (応答済みアドレスリスト) に登録されているかどうかがチェックされま す。チェックで、そのメッセージが自動生成メッセージではなく、しかも、メッセージの作成者が文字列 リストRepliedAddresses に登録されていなかったときには、自動的に休暇メッセージが作成さ れ、メッセージの作成者に送信されます。また、そのメッセージの作成者のアドレスが文字列リスト RepliedAddresses に追加されます。したがって、応答済みのアドレスに再度、休暇メッセージが 送信されることはありません。

このルールの条件は、次の通りです。
Human Generated
From             not in    #RepliedAddresses

また、このルールのアクションは次の通りです。

Reply with            Reply Text
Remember 'From' in    RepliedAddresses

以上の条件とアクションは変更できません。一方、応答メッセージ(休暇メッセージ) の本 文は編集が可能です

不在通知メール内容
不在通知メール内容
[Vacation Message] チェックボックスのチェックを外しておくと、休暇メッセージが無効 になります。チェックしておいた場合、休暇メッセージが作成され、送信されます。休暇メッ セージのルールの優先度は低(優先度2) です。
自動メール処理ルールは、管理者がユーザーに許可していなければ使用できませんが、休暇 メッセージ生成用のルールは、管理者が許可していない場合でもユーザーが有効にすること ができます。有効にした場合、ユーザーはいつでも、休暇メッセージの本文を修正できます。

[Clear 'Replied Addresses' List] ボタンをクリックすると、文字列リストRepliedAddresses がユーザーのアカウントデータセットから削除されます。また、クリック後、ボタンのラベ ルが[Enable Vacation Message] に変わります。このボタンをクリックすると、休暇メッセー ジが有効になると同時にRepliedAddresses の内容が消去されます( したがって、新規の 応答済みアドレスが記録されるようになります)。


リダイレクトオールルール(簡易ルール)

アカウントにはいずれも、リダイレクトオール(Redirect All) ルールがデフォルトで用意されていま す。このルールを使って、単一もしくは複数のアドレスを指定し、そのアドレスに受信メールをリダ イレクトできます。

リダイレクトオールの条件は空白です( この場合、すべてのメッセージにルールが使用されます)。 または、オプションでhuman generated を指定することもできます。また、リダイレクトオール ルールのアクションはRedirect To またはMirror To で、そのほか、オプションでDiscard を 指定することもできます。オプションはいずれも、チェックボックスを使って指定できます。

リダイレクト先アドレスのリストは編集が可能です。ここに単一もしくは複数のアドレスを指定でき ます。

転送先
コピーを保存 自動メールを対象から外す 元の To/Cc ヘッダを保持する
転送先
このチェックボックスのチェックを外しておくと、リダイレクトオールルールは無効になり ます。チェックしておくと、リダイレクトオールルールが有効になります。リダイレクト オールルールの優先度は最低(優先度1) です。
コピーを保存
このオプションのチェックを外しておくと、アクションとしてDiscard がリダイレクトオー ルルールに追加され、その結果、リダイレクトされたメッセージはすべて廃棄されます(ア カウントのINBOX メールボックスには格納されません)。
自動メールを対象から外す
このオプションを選択しておくと、条件としてHuman Generated がリダイレクトオールルー ルに追加されます。その結果、非人間ソースからのメッセージ( メーリングリストのメッ セージ、エラーメッセージ、リダイレクトされたメッセージ、ミラーされたメッセージなど の自動メッセージ) はいずれも、このルールでは処理されなくなります。
元の To/Cc ヘッダを保持する
このオプションを選択しておくと、アクションとしてMirror To がリダイレクトオール ルールに追加されます。選択しなかった場合、アクションとしてはRedirect To が使われ ます。
ユーザーは、そのアカウントに対して、ルールのリダイレクト処理を指定できる権限が付与 されている場合に限って、このルールの設定が可能です。そうでない場合、アカウントのリ ダイレクトオールルールの設定を行えるのは、管理者に限られます。

ルールの処理のログ

サーバーワイドルールの場合、その処理は、Enqueuerコンポーネントを介してログに記録されます。 ログレベルを[Low-Level] または[All Info] に設定しておくと、使用されたルールと実行さ れたアクションを確認できます。

一方、ドメインワイドルールとアカウントルール(アカウントレベルのルール) の処理は、Local Deliveryモジュールを介してログに記録されます。上記と同じく、ログレベルを[Low-Level] ま たは[All Info] に設定しておくと、使用されたルールと実行されたアクションを確認できます。


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