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

Local Delivery モジュール

Local Delivery モジュールは、CommuniGate Pro サーバーのアカウントにルートされたメッセージを処 理するという機能を果たします。メールボックスはメールボックスマネージャによって管理され、 Local Delivery モジュールは、メールボックスマネージャを介してメッセージをアカウントのメール ボックスに格納するという処理を行います。

アカウントに送られるメッセージには必ず、Local Delivery モジュールにより、メールの自動処理ルールが適用されます。メッセージは、このルールにしたがって所定のメールボックスに格納され、また、 所定のアドレスにリダイレクトされます。

メッセージがアカウントのメールボックスに格納されたメッセージは、Access モジュールを使って取り出すことができます。

Local Delivery モジュールでは、直接メールボックスアドレッシングとアカウント詳細アドレッシング をサポートしています。

また、Local Delivery モジュールを使って、時間の長さを指定し、その間にアカウントで受信可能な メッセージの最大数を設定することもできます。この機能を使うことで、メールループを回避できます。

Local Delivery モジュールの設定

Local Delivery モジュールを設定する場合、CommuniGate Pro の管理者ポートに接続し、[Settings] セ クションの[LOCAL] ページを開きます。

処理
ログレベル:   プロセス:

メールサービスが無効な場合: 再処理間隔 右記の時間:
メールボックスがフルな場合: 再処理間隔 右記の時間:
一時停止: アカウントキュー メッセージ
  右記の時間後、警告送信:  
ログレベル
[Log] オプションでは、Local Delivery モジュールによってサーバーログに記録される情報の範 囲( ログレベル) を指定できます。通常、このオプションは[Major] ( メッセージ転送レポー ト) または[Problems] ( メッセージ転送/ 非致命的エラー) にしておきます。一方、Local Delivery モジュールに問題が発生していると思われるときには、[Low-Level] または[All Info] に設定します。この場合、それぞれ、プロトコルレベルの情報またはリンクレベルの情報もシ ステムログに記録されます。なお、問題が解決すれば、ログレベルを元に戻します。[Low-Level] または[All Info] のままにしておくと、システムログファイルが急速に大きくなります。
システムログのうち、Local Delivery モジュールに関するログレコードにはLOCAL タグが付加 されます。
プロセス
このオプションでは、Local Delivery モジュールで使用されるプロセス(スレッド) の数を指定 できます。この数のプロセスを使って、ローカルのアカウントに送られるメッセージ(キュー に格納されているメッセージ) が処理されます。つまり、複数のスレッドを使って複数のアカ ウントに同時にメッセージが配信されます。アカウント数が1000 を超える場合、または、多く のアカウントについてルールを設定してある場合(ルールの処理には時間がかかります)、通常、 このオプションの値は2 以上にします。
メールボックスがフルな場合
このオプションでは、アカウントのメールストレージをチェックし、その後、メッセージがア カウントに配信されるように設定できます。アカウントのストレージに制限が設定されており、 チェックで、その制限のうち指定されている割合(%) が消費されていることが判明したとき には、Local Delivery モジュールにより、そのアカウントへのメッセージの配信はすべて遅延さ れます。アカウントのメールストレージは定期的にチェックされ([Every] で指定)、そのアカ ウントのメールボックスからメッセージが削除されると、メッセージの配信が再試行されます。
メールサービスが無効な場合
場合によっては、メッセージの配信先のアカウントの[Mail Service] オプションが無効になっ ていることもあります。このオプションでは、そういったアカウントへのメッセージを拒否す るか、または、一定の間、キューに保存するかを指定できます。この時間の長さは、[Keep for] ドロップダウンメニューで指定できます。また、[Every] ドロップダウンメニューでは、キュー に格納されているメッセージが配信される頻度を指定します。その後、管理者が再度、アカウ ントの[Mail Service] オプションを有効にした場合、その時点からアカウントにキューのメッ セージが配信されるようになります。
一時停止
アカウントのメールストレージに制限が設定されている場合、新規の受信メッセージを格納す ると、その制限を超えるときには、そのメッセージの配信は遅延されます。このオプションで は、その場合、メッセージキューの全メッセージの配信を遅延するか( メッセージの配信は、 メールボックスから既存のメッセージを削除するか、ストレージクォータを増やすまで遅延さ れます)、または、その新規のメッセージだけを遅延するか(サイズの小さいメッセージは配信 されます) を指定できます。メッセージキューの全メッセージの配信を遅延するときには [Account Queue] ラジオボタン、その新規のメッセージだけを遅延するときには[Message] ラ ジオボタンを選択します。
右記の時間後、警告送信
メッセージがキューに格納されたままアカウントに配信されない場合(例えば、アカウントの メールストレージがフル、または、[Mail Service] オプションが無効になっている場合) 、その メッセージの送信者に警告メッセージを送信できます。警告メッセージが送信されるようにす る場合、このオプションで、どのくらいの時間が経過すれば警告メッセージが送信されるかを 指定します。

メッセージ送受信フローコントロール

フロー制御
右記のメッセージ数受信でアカウントをサスペンド 右記の時間内
右記の送信数でアカウントを一時停止 右記の時間内

受信フローコントロール

CommuniGate Pro では、メールループ回避のための手法が多数使われていますが、状況によっては(通 常、他のサーバーとの通信の際)、メールループが発生することもあります。Local Delivery モジュー ルには、各アカウントで受信されるメッセージの数をカウントする機能が搭載されています。この処 理により、メールループの発生を最小限に抑えることができます。 [Flow Control] パネルの[Suspend Account Queue if Received] オプションには受信メッセージの最大 数、[messages within] オプションには時間の長さを指定します。これで、指定した時間内に受信され たメッセージの数が指定した最大数を超えた場合、そのアカウントの受信メッセージキューの処理は 一時中断されます。
注意: Local Delivery モジュールでカウントされるのは、アカウントに配信されるメッセージの数で あり、必ずしもアカウントのメールボックスに格納されるメッセージの数ではありません。例えば、 アカウントのルールにしたがってメッセージが廃棄された場合、そのメッセージはアカウントの INBOX メールボックスには格納されません。こういったメッセージは、カウントされません。

送信フローコントロール

送信フローコントロールを使って、システムのユーザーによるシステムの濫用を防止できます。

送信フローコントロールとは、正規のユーザーから送信されるメッセージを制御することをいいます。 具体的には、CommuniGate Pro のアカウントから送信されるメッセージのうち、AUTH (認証) 処理 を使って、WebUser インターフェイス、MAPI モジュール、POPモジュールのXTND XMIT コマンドを 介し、かつSMTP 経由で送信されるメッセージをカウントし、送信を制御することを指します。[Suspend Account Sending if Sent] オプションには送信メッセージの最大数、[messages within] オプ ションには時間の長さを指定します。指定した時間内に送信されたメッセージの数が指定した最大数 を超えたときには、そのアカウントのユーザーによるメッセージの送信処理は一時中断されます。

注意: システムのユーザーの中には、AUTH 処理なしでもSMTP を介してメッセージを送信できる ユーザーもいます。つまり、そのユーザーのアドレスが[Client IP Addresses] リストに登録されて いる場合、または、ユーザーが読み取り後に送信方式を使っている場合、そのユーザーについては AUTH 処理は実行されません。こういったユーザーから送信されるメッセージは、システムのユー ザーからのメッセージとは判断されず、したがってカウントは行われません。全ユーザーからの送信 メッセージについて送信フローコントロールを行いたい場合、全ユーザーに対してSMTP 認証処理を 強制するという方法を使います。この方法を使用する場合、SMTP の[Settings] ページの[Force AUTH] オプションを有効にします。


ルーティング

ルータからLocal Delivery モジュールにアドレスが渡されると、Local Delivery モジュールで、そのア ドレスのドメイン名がチェックされます。ドメイン名が文字列.local で終わっていた場合、Local Delivery モジュールにより、その接尾辞.local が削除された後、メッセージがメインドメインのアカ ウントに格納されます。この場合、そのメインドメインのアカウントの名前としては、メッセージの ドメイン名が使われます。この処理を応用することで、Unified Domain-Wide Accounts( ドメイン全体 で共通して使用できるアカウント) の作成が可能です。

例:
例えば、メッセージの送信先が次のアドレスの場合、
abcdef@nnnnn.local
Local Delivery モジュールにより、そのメッセージがアカウントnnnnn ( メインドメインのア カウント) に格納されます。

また、状況によっては、統合ドメインワイドアカウントをメインドメインではなくセカンダリドメイ ンに作成したいこともあります。その場合、接尾辞として.domain を使うことで、メッセージをセ カンダリドメインのアカウントに送ることができます。この処理で、アドレスのローカル部の最後の 部分がセカンダリドメインのアカウントの名前として使われます。

例:
メッセージの送信先のアドレスが次の場合、
abcdef%xyz@nnnnn.domain
Local Delivery モジュールにより、メッセージがドメインnnnnn のアカウントxyz に格納され ます。

上の処理は、ルータからLocal Delivery モジュールに対して「最初の試行」呼び出しが実行されたとき に行われ、この時点では、上記以外のアドレスの処理は発生しません。

その後、ルータからLocal Delivery モジュールに対して「最終の配信」呼び出しが実行されると、Local Delivery モジュールにより、ドメイン名が空白のアドレス(つまりメインドメイン宛のメッセージ)、 または、ドメイン名がセカンダリドメインの名前であるアドレス(つまりセカンダリドメイン宛の メッセージ) がすべて処理されます。最後に、メッセージが、そのアドレスのローカル部と同じ名前 のアカウントにルートされます。

例:
例えば、メッセージのアドレスが次の場合、
abcdef
このメッセージは、Local Delivery モジュールにより、メインドメインのアカウントabcdef に 配信、格納されます。
 
また、subdomain.com という名前のセカンダリドメインがあり、メッセージのアドレスが次の 場合、
xyz@subdomain.com
メッセージは、Local Delivery モジュールにより、セカンダリドメインsubdomain.com のアカウ ントxyz に配信、格納されます。

上記のルーティングは「ドメインのみのルーティング」であり( ローカル部のルーティングはなし)、 このルーティングはHTTP モジュールでもサポートされています。そのため、Local Delivery モ ジュールでは、ローカル部がLoginPage のアドレスのほか、ドメイン部が空白のアドレス、ドメイ ン部がいずれかのセカンダリドメインの名前またはエイリアスであるアドレスもすべて受け付けら れ、処理されます。


不明なアカウントへのメッセージのルーティング

Local Delivery モジュールで、電子メールの送信先がローカルのアドレスであると判定されると、その アドレスに指定されているアカウントが実際に存在するかどうかがチェックされます。ここで、アカウントが存在しなかったときには、そのメッセージ(不明なアカウントへのメッセージ) に対して所 定の処理が行われますが、この処理は、各ドメイン( メインドメインと各セカンダリドメイン)でそ れぞれ設定されています。Local Delivery モジュールでは、その設定にしたがって処理が実行されます。 ドメインに設定されている処理としては、次の3 種類があります。

ドメインで、「拒否(Rejected) 」オプションが設定されている場合、不明なアカウントへのメッセー ジはすべて拒否され、同時に「不明なアカウント」エラーメッセージがメッセージの送信者に送られ ます。

ドメインで、「廃棄(Discard)」オプションが設定されている場合、不明なアカウントへのメッセージ はすべてアドレスNULL にルートされます。つまり、その場で廃棄され、エラーメッセージが出力さ れることもありません。

ドメインで、「リルート(Reroute to)」オプションが設定されている場合、不明なアカウントへのメッ セージはすべて、指定されているアドレスにルートされます。この場合のアドレスとしては、登録済 みローカルのアカウントの名前、または別のサーバーのアカウントの電子メールアドレスを指定でき ます。どちらの場合も、不明なアカウントは、指定されているアドレス( リルート先のアドレス) に 置換され、そのアドレスを使ってルータにより再度、アドレス処理が実行されます。

不明なアカウントのリルート先のアドレスには、アステリスク(*) を使用することができます。この アステリスクは、不明なアカウントの名前に置き換えられます。

例:
リルート先のアドレスとして、次のアドレスが指定されており、
bad-*@monitoring.department.com
メッセージの送信先が次のアドレスだったとします。
james@mycompany.com
上で、mycompany.com はCommuniGate Pro サーバーのドメイン名で、このmycompany.com には アカウントjames は存在しなかった(つまり不明なアカウントだった) とします。
この場合、メッセージは、次のアドレスにリルートされます。
bad-james@monitoring.department.com

統合ドメインワイドアカウント

アドレスに接尾辞として.local が付加されている場合、そのメッセージは、ルータにより単一のロー カルアカウントにルートされます(上記を参照)。この機能を使って、統合ドメインワイドアカウント を作成できます。

例:
ルータテーブルに次のレコードがあったとします。
client1.com = Cl1.local
この場合、ドメインclient1.com に向けられたメッセージはすべて、ローカルアカウントCl1 (統合ドメインワイドアカウント) に送信されます。

統合ドメインワイドアカウントは、クライアントシステムから、サーバーに格納されているメッセー ジを取り出したいときに有用です。取り出しは、CommuniGate Pro のPOP モジュールやCommuniGate Pro RPOPモジュール、その他、同等の機能のソフトウェアで行うことができ、取り出したメッセージ は、ローカルのアドレスに配信することができます。また、クライアントシステムで通常のシングル ユーザーメーラーを使ってサーバー上のメッセージを取り出し、そのメッセージを手動で配信すると いった処理も可能です。

ドメインclient1.com のローカル部はルーティングでは使用されませんが、廃棄されることはありませ ん。ローカル部は、Local Delivery モジュールによってメッセージがアカウントCl1 に格納されるとき に、X-Real-To: ヘッダフィールド(または、Local Delivery モジュールの設定で指定されている フィールド) に挿入されます。

例:
ルータテーブルに次のルータレコードがあり、
client1.com = Cl1.local
メッセージの送信先が次の2 つのアドレスだったとします。
abcdef@client1.com, xyz@client1.com
この場合、メッセージがアカウントCl1 に格納される際、次のヘッダフィールドがメッセージ に追加されます。
X-Real-To: abcdef, xyz
注意: ドメインに向けられたメッセージをすべてアカウントCl1 に配信したい場合、上 記(通常のルータレコード) のほか、
<*@client1.com>= Cl1
(フォリンエイリアスレコード) を使う方法もあります。ただし、このエイリアスレコードを使ったときには、ローカル部(アカウント名) が失われ、また、X-Real-To: ヘッダフィールドも生成されません。そのため、クライアントソフト ウェアを使ってアカウントCl1 (統合ドメインワイドアカウント) のメッセージを取り出す場合、 To: ヘッダフィールド(またはCc: ヘッダフィールド) の内容を使用することが必要です。ただし、 このヘッダフィールドの情報は一定ではなく(ワイルドカードです)、さらに、ルータレコードを 使ってアドレスのローカル部を変更しても、その変更は一切、このヘッダフィールドには反映されま せん。

ユーザーは、POP モジュールを使って統合ドメインワイドアカウントに格納されているメッセージを 取り出すことができます。その際、ユーザーは、ユーザー名を指定し、そのユーザー名がX-Real-To ヘッダフィールドに格納されているメッセージだけを取り出すことができます。

統合ドメインワイドアカウントは、通常、メインドメインに作成します。また、接尾辞として.domain を使うことで、セカンダリドメインに統合ドメインワイドアカウントを作成することもできます。
例えば、アドレスがxxxx%accountname@domainname.domain というメッセージは、domainname で示されるドメインのaccountname で示されるアカウント(統合ドメインワイドアカウント) に格納 されます。また、この場合、xxx が、このメッセージのX-Real-To フィールドに格納されます。
例えば、ドメインcompany.com のドメイン管理者が次の設定を行ったとします。
   不明なアドレスへのメッセージをすべて、*%Unknowns@company.com.domain にリダイレクトす る(ルータテーブルに定義します)。
この場合、不明なアドレス(アカウント) に宛てられたメッセージはいずれも、アカウント Unknowns 格納され、また、そのアドレスが各メッセージのX-Real-To ヘッダフィールドに挿入さ れます。


自動メール処理

アドレスがLocal Delivery モジュールで受け取られ、処理が完了すると、そのメッセージがモジュール キューに格納されます。キューに格納されているメッセージは、内容や種類に応じて各モジュールに よって取り出されます。その後、モジュールにより、送信先のアカウントがオープンされ、そのアカ ウントに自動メール処理ルールが設定されているかどうかがチェックされます。

アカウントにルールが設定されている場合、そのルールが適用されます。その際、ルールに指定され ている各条件がそれぞれチェックされ、条件がすべて満たされたときに、そのルールに指定されてい るアクションが実行されます。このアクションの結果、メッセージが所定のメールボックスにコピー されたり、別のアドレスにリダイレクトされたり、自動応答が生成されたり、といった処理が行われ ます。

使用されたルールや満足された条件、条件が満たされたときに実行されたアクションに関する情報 は、Local Delivery モジュールのログレベルを詳細レベルに設定することで確認できます。


アカウントのメールボックスへのメッセージの格納

アカウントのルールが使用され(ルールが設定されている場合)、そのルールによりメッセージが廃棄 されなかったときには、そのメッセージはアカウントのINBOX メールボックスに格納されます。

アカウントのINBOX メールボックスにメッセージが格納される際、Local Delivery モジュールによ り、メールボックスの現在のサイズがチェックされます。チェックで、メッセージを格納すると、ア カウントのストレージクォータ(最大容量) を超えると判断されたときには、そのメッセージの格納 は拒否されます。


直接メールボックスアドレッシング

アドレスのローカル部がbox#name ( メールボックス名# アカウント名) の形式で指定されている場 合、そのメッセージは、Local Delivery モジュールにより、指定されたアカウント(name) の指定さ れたメールボックス(box) に格納されます。この処理を「直接メールボックスアドレッシング」と 呼んでいます。

アドレスのローカル部がbox#name の形式のメッセージには、アカウントレベルのルール(アカウン トルール) は適用されません。

直接メールボックスアドレッシングは、
ルータテーブルで定義できます。下は、ルータレコードの定 義の例です。
; store messages to sales@maindomain
; in the sales mailbox in the Account public@maindomain
<sales> = sales#public     
;
; store messages to support@client.com
; in the requests mailbox in the Account staff in the hq.client.com Domain
<support@client.com> = "requests#staff"@hq.client.com

注意: メールボックスの名前は、大文字と小文字が区別されます。

注意: 上記のように直接メールボックスアドレッシングをルータレコードに定義しておいた場合、そ の直接メールボックスアドレッシングは、POP モジュールで使用されます。つまり、ユーザーは、ク ライアントPOP メーラーでログイン名sales でログインすることで、アカウントメールボックス public のメールボックスsales に接続できます(ただし、ユーザーは、アカウントpublic のパス ワードを入力しなければなりません)。


ルーティングの設定

ルーティング
エンベロープ宛先ヘッダー名:
  上記ヘッダーを常に追加
ダイレクトメールボックスの使用 (mailbox#account):
アカウント詳細情報 (account+detail):
エンベロープ宛先ヘッダー名
このオプションでは、統合アカウントにメッセージが格納される場合、Local Delivery モ ジュールによって、そのメッセージに追加されるヘッダの名前(例えば、X-Real-To など) を指定できます。
上記ヘッダーを常に追加
このオプションを選択しておくと、ローカルのアカウントにメッセージが格納される際、す べてのメッセージについて、[Envelope Recipients field] オプションで指定したヘッダフィー ルドが追加されます。
ダイレクトメールボックスの使用
このオプションを使って、直接メールボックスアドレッシングを有効(Enabled) にするかど うか指定できます。
アカウント詳細情報
このオプションでは、アカウント詳細アドレッシングに関する設定が可能です。アカウント 詳細アドレッシングとは、「アカウント名+ 文字列」の形式(アカウント詳細アドレス) を 使ってメールボックスを指定することをいいます。
オフ
この設定にしておくと、アカウント詳細アドレスの+記号は処理されません。した がって、アカウント詳細アドレッシングは使用されません。
オン
この設定にしておくと、Local Delivery モジュールによって、アカウント詳細アドレス の+記号が処理されます。処理では、最初の+記号と、その右側の記号がすべて削除 され、残りのアドレスを使ってリルートが実行されます。この設定が有効のときには、 ユーザーは、メーリングリストに加入する際、アカウント詳細アドレス(例えば、 john+jokelists) を使用できます。これで、アカウント詳細アドレス宛てのメッ セージはすべて、そのユーザーにリルートされます。また、アカウントレベルの ルール([Recipient] 条件) を使ってメッセージが自動的に処理されるようにすることもで きます。例えば、ルールを使用し、メッセージがメールボックスjokes ( メーリング リストのメッセージ用のメールボックス) に格納されるように設定できます。
ダイレクトメールボックスの使用
この設定を選択しておくと、アカウント名に+記号が付加されているかどうか(アカ ウント詳細アドレスであるかどうか) がチェックされ、あった場合、+記号の右側の 文字列( メールボックス名) が直接メールボックスアドレス(box#name の形式) の メールボックス名として扱われます。つまり、アドレスjohn+jokelist はアドレス jokelist#john に変換され、したがって、メッセージは、アカウントjohn のメール ボックスjokelist に直接リダイレクトされます。また、この場合、アカウントレベ ルのルールは適用されません(なお、この設定を使う場合、[Direct Mailbox Addressing] オプションを有効に設定しておくことが必要です)。

全アカウントにメッセージを送信

ドメイン設定で、仮想オブジェクトAll を有効にしておいた場合、アドレスall@ ドメイン名に送信さ れたメッセージは、そのドメインのアカウントのうち、[Accept Mail To All] オプションが有効になっ ているアカウントのINBOX メールボックスに格納されます。

注意: アドレスall に送信されたメッセージには、アカウントレベルのルールは適用されません。

アドレスall@ ドメイン名の代わりにアドレスall@ メインドメイン名を使用することで、全ドメイン の全アカウントにメールを送信することができます。


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