CommuniGate Pro
Version 5.1
アカウントへのアクセス
 
 
 
IMAP

IMAP モジュール

CommuniGate Pro のIMAP モジュールは、IMAP サーバーとして機能します。IMAP サーバーでは、 ユーザーはクライアントアプリケーション( メーラー) を使い、IMAP4rev1 インターネットプロト コル(RFC2060) とTCP/IP ネットワークを介して、メールボックスからメッセージを取り出すことができます。

IMAP プロトコルを介して、ユーザーは、クライアントアプリケーションを使って追加のメールボッ クスを作成できるほか、異なるメールボックス間のメッセージの移動、メッセージに対するマーク の付加、メッセージの検索、格納されているメッセージのMIME 構造の取得、メールボックスに格 納されているMIME コンポーネントの取り出しが可能です。

CommuniGate Pro のIMAP モジュールは、クリアテキスト接続とセキュア(SSL/TLS) 接続の両方をサポートしています。

インターネットメッセージアクセスプロトコル(IMAP)

インターネットメッセージアクセスプロトコル(IMAP) を介して、クライアントコンピュータ上で、 リモートメールサーバーのメールボックスに格納されているメッセージを扱うことができます。処 理では、まず、メーラー( メールクライアント) アプリケーションが動作しているコンピュータか ら、メールサーバーコンピュータに対して接続が実行され、アカウント(ユーザー) 名とパスワードが送信されます。接続先のアカウントにアクセスする権限が付与されている場合、メールアプリ ケーションからメールサーバーにプロトコルコマンドが送られます。このプロトコルコマンドを介し て、メールボックスのメッセージがすべてリストアップされます。また、必要に応じてメッセージの 取り出しや削除、属性によるメッセージの検索、メールボックス間のメッセージの移動などが実行さ れます。

CommuniGate Pro のIMAP モジュールは、各種のインターネット標準(RFC) をサポートしているほ か、各種の機能も搭載しています。


IMAP モジュールの設定

IMAP モジュールの設定を行う場合、Web ブラウザ(WebAdmin) で[Settings] セクションの [Access] ページを開きます。

処理
ログレベル: チャネル: リスナー

[Log] オプションでは、IMAP モジュールによってサーバーログに記録される情報の範囲( ログレベ ル) を指定できます。通常、このオプションは[Major] ( メッセージ転送レポート) または [Problems] ( メッセージ転送/ 非致命的エラー) にしておきます。一方、IMAP モジュールに問題が 発生していると思われるときには、[Low-Level] または[All Info] に設定します。この場合、それぞ れ、プロトコルレベルの情報またはリンクレベルの情報がシステムログに記録されます。なお、問題 が解決すれば、ログレベルを元に戻します。[Low-Level] または[All Info] のままにしておくと、シ ステムログファイルのサイズが急速に大きくなります。

システムログのレコードのうち、IMAP モジュールによって記録されたログにはIMAP タグが付加さ れます。

[Maximum Number of Channels] オプションでは、IMAP モジュールで使用されるチャンネル(接 続) の最大数を指定できます。この数は、IMAP モジュールが作成できる「リスナー」の最大数です。メールクライアントによってサーバーのメッセージが取り出される際、メールクライアントから IMAP モジュールに対してIMAP 接続が実行され、その接続がIMAP モジュールで受け付けられます。 このオプションでは、IMAP モジュールで受け付けられる同時接続の最大数を指定できます。接続の 際、オープンしている受信接続が、この数を超えた場合、新規の受信接続は拒否されます。したがっ て、メールクライアントでは再度、接続を試行しなければなりません。

IMAP モジュールは、デフォルトでは、クリアテキスト接続はTCP ポート143、セキュア接続はTCP ポート993 で受け付けられるように設定されています。この設定については、詳しくはリスナーの セクションを参照してください。

IMAP モジュールではSTARTTLS コマンドがサポートされており、このコマンドを使ってクライアン トメーラーからまず、クリアテキストで接続を確立し、その後、セキュア接続に切り換えることがで きます。


マルチアクセス

一般のIMAP サーバーでは、オープンされているメールボックスには「ロック」がかけられます。し たがって、複数のクライアントからの同時アクセスは不可能です。一方、CommuniGate Pro のIMAP は、任意の数のクライアントが任意のメールボックスに対して同時にアクセス(マルチアクセス) で きるように設計されています。

クライアントによるマルチアクセス機能は、CommuniGate Pro のメールボックスマネージャによって 実装されます。詳しくは、「共有」のセクションの共有の説明を参照してください。


アクセスコントロールリスト

MAP モジュールでは、RFC2086 (IMAP4 ACL 拡張) プロトコルがサポートされています。このプロ トコルにより、IMAP クライアントのユーザーは、自分のメールボックスに対するアクセス権を別の ユーザーに付与できます。

メールボックスのアクセスコントロールリスト(ACL) については、詳しくは「メールボックス」の セクションのメールボックスを参照してください。

メールボックスのアクセス権の設定を行う場合、メールクライアントとしては、ACL プロトコル拡 張がサポートされている最近のIMAP クライアントを使用しなければなりません。なお、こういった クライアントが利用できないときには、WebUserインターフェイスで設定することもできます。


フォリン(共有) メールボックスとパブリックメールボックス

CommuniGate Pro では、ユーザーは別のアカウント(ユーザー) のメールボックスにアクセスできま す。詳しくは「メールボックスの共有」のセクションの共有を参照してください。

一般的なIMAP クライアントでは、通常、フォリンメールボックスはサポートされていません。こう いったIMAP クライアントでフォリンメールボックスを使用したい場合、「サブスクリプション」ス キームを使用します。サブスクリプションとはメールクライアントの機能で、サーバー(のアカウン ト設定) にメールボックスの名前のリスト(サブスクリプションリスト) を格納しておける機能をい います。サブスクリプションリストは、通常、メールクライアントを最初の設定するときに作成でき ます。その後、このサブスクリプションリストに登録されているメールボックスだけが表示されま す。

IMAP クライアント(またはWebUser インターフェイス) では、サブスクリプションリストにフォリ ンメールボックスの名前(例えば、~sales/processed または~public/news/company など) を追加することもできます。したがって、IMAP クライアントが古く、フォリンメールボックスがサ ポートされていないときでも、この方法を使って、フォリンメールボックスを扱えます。つまり、 フォリンメールボックスの名前をサブスクリプションリストに追加することで、そのアカウントの メールボックスのほか、フォリンメールボックスも表示されるようになります。

IMAP クライアントによっては(例えば、Microsoft Outlook やOutlook Express)、上記の方法も使えな いことがあります。その場合、メールボックスのエイリアスを作成することで、メールクライアン トから別のアカウントのメールボックス(共有メールボックス) にアクセスできます。


ユーザーの認証

IMAP モジュールでは、CommuniGate Pro サーバーでサポートされている認証方式はすべてサポート されています。

認証方式のオプション[CLRTXT Login Method] が無効になっており、接続がSSL/TLS による暗号化接 続でもない場合、サポートされている認証方式のリストにキーワードLOGINDISABLED ( ログイン無 効) が追加されます。


通知アラート

IMAP モジュールでは、アカウントの認証後、そのアカウントに送信されるメッセージとして、待機 中のアラートメッセージがあるかどうかチェックされます。あった場合、そのアラートメッセージ が、標準のIMAP 応答コードである[ALERT] を使って、そのアカウントのクライアントメーラーに送 信されます。

ユーザーの認証後、IMAP モジュールにより、アラートメッセージがあるかどうかチェックされま す。また、IMAP セッションの最中にアラートメッセージが検出されたときには、その時点でクライ アントメーラーに送信されます。


ログインリファーラル

IMAP モジュールでは、RFC2221 ( ログインリファーラル) がサポートされています。アクセスのセ クションで説明したように、メールクライアントで指定されているユーザーのアドレスはすべて、ルータによって処理されます。そのアドレスが外部のインターネットアドレス(SMTP モジュールを 介して処理されるアドレス) だった場合、IMAP モジュールから否定(拒否) 応答とログインリ ファーラルが出力されます。ここで、IMAP クライアントでログインリファーラルがサポートされて いる場合、アドレスが新規のアドレス(移動先のアドレス) に自動的に切り替わります。

下は、例です。
CommuniGate Pro サーバーのアカウントj.smith が別のサーバーであるothercompany.com のアカウントJohn に移動しました。メッセージをリルートするため、ルータ(ルータテーブ ル) に次のようにエイリアスレコードを定義しました。
<j.smith> = John@othercompany.com
その後、ユーザーが自分の古いアカウントであるj.smith にアクセスしたとします。この場 合、CommuniGate Pro サーバーによってアカウント名j.smith は拒否され、同時に次のよう なリファーラルが出力されます。
1234 NO [REFERRAL IMAP://John;AUTH=*@othercompany.com/] account has been moved to a remote system
メールクライアントでログインリファーラルがサポートされているときには、アカウント名 John を使って自動的に別のサーバーothercompany.com に接続が実行されます。

IMAP アクティビティのモニタリング

IMAP モジュールのアクティビティは、WebAdmin インターフェイスを使って監視できます。

IMAP モジュールのモニタリングを行いたい場合、[Monitors] セクションの[Access] リンクをク リックします。クリック後、IMAP の[Monitoring] ページが開きます。

3 件中 3 件が選択されました
ID IPアドレス アカウント 接続中 状態 実行中
9786[216.200.213.116]user1@domain2.dom3minselecting a mailbox2sec
9794[216.200.213.115]user2@domain1.dom34secConnected to mailbox 
9803[216.200.213.115]2secAuthenticating 
ID
このフィールドには、IMAP セッションのID が表示されます。CommuniGate Pro のログレコード のうち、IMAP セッションに関連するレコードにはIMAP-nnnnn フラグ(nnnnn は数値) が付加 されますが、このnnnnn と、このフィールドに表示されるID は同じです。
IPアドレス
このフィールドには、接続を実行したクライアントのIP アドレスが表示されます。
アカウント
このフィールドには、クライアントのアカウント(認証後のアカウント) の名前が表示されます。
接続中
このフィールドには、接続時間(認証後の時間) が表示されます。
状態
このフィールドには、進行中の処理の名前、または、進行中の処理がないときには、カレント のセッションのステータスが表示されます(認証、選択など)。
実行中
何らかのIMAP 処理が進行中の場合、その処理の開始後の経過時間が表示されます。

IMAP セッションがMAPI接続で実行されている場合、その行の背景は薄い緑で示されます。

CommuniGate Pro のSNMPエージェントを使って、IMAP アクティビティの統計データを取得できます。


IMAP の実装

CommuniGate Pro のIMAP モジュールでは、多数のIMAP 拡張機能がサポートされています。そのう ち、次の拡張機能は、ドメイン管理者またはサーバー管理者向けです。

QUOTA
アカウントにはそれぞれクォータルートがあります。クォータルートとは、# アカウントの形 式のアカウントをいいます。CommuniGate Pro では、使用しているメールクライアントがIMAP クライアントで、そのクライアントのユーザー(認証済み) にドメイン管理権限、または、 [Can Modify Accounts and Domains] 権限(サーバー管理者権限) が付与されている場合、その ユーザーは、クォータルートアカウントを使って別のアカウントのクォータ(割り当てサイ ズ) を取得できます。
また、使用しているメールクライアントがIMAP クライアントで、そのクライアントのユー ザー(認証済み) に[MaxAccountSize] 権限( ドメイン管理者権限)、または、[Can Modify Accounts and Domains] 権限(サーバー管理者権限) が付与されている場合、そのユーザーは、 SETQUOTA コマンドを使って別のアカウントのメッセージ格納クォータを設定できます。
NAMESPACE
CommuniGate Pro の標準のアカウント名接頭辞(~) を使って、別のアカウントのメールボック スにアクセスできます。
接頭辞~public は、パブリックネームスペースの接頭辞として解釈されます。アカウント public は任意のドメインに作成できますが、このアカウントの作成とドメインの選択はドメイ ン管理者またはサーバー管理者が考慮の上、行わなければなりません。

IMAP 拡張機能

CommuniGate Pro のIMAP モジュールでは、IMAP 標準ではない拡張機能、また既存のIMAP 拡張標準 には含まれていない拡張機能もサポートされています。以下、こういった機能( コマンド) について 説明します。

UNSELECT
このIMAP コマンドは、通常のCLOSE コマンドと基本的には同じです。ただし、\Deleted と マークされているメッセージは削除されません。
COPY
The ENCRYPTED certificateData parameter can be specified after the target mailbox name. certificateData is either a base64-encoded PKI Certificate, or the asterisk (*) symbol, referring to the personal S/MIME Certificate of the authenticated user.
The copied messages are
S/MIME-encrypted using the specified certificate.
MOVE, UID MOVE,
These IMAP commands is equivalent to the COPY commands, but if messages have been copied succesfully, they are deleted. If messages are moved within the same Account, the mailbox storage Quota is not checked.
STATUS
STATUS コマンドでは、通常のデータアイテムのほか、次のデータアイテムを指定できます。
INTERNALSIZE
このデータアイテムは、応答に挿入されます。ここには、サーバーに格納されるメールボッ クスのサイズ(数値)を指定できます。なお、このサイズは、メールボックスに格納される 全メッセージの合計(RFC822.SIZE 属性の合計) に近い値ですが、必ずしも一致はしませ ん。
OLDEST
このデータアイテムは、応答に挿入されます。このデータアイテムには、文字列 date_time を指定できます。指定したdate_time は、メールボックスのメッセージのう ち一番古いメッセージのINTERNALDATE として使われます。メールボックスにメッセー ジが1 つもなかったときには、このデータアイテムは応答には挿入されません。
UNSEENMEDIA
The data item included into the response is the number of messages that have the Media flag set but do not have the Seen flag set.

例:
A001 STATUS mailbox (UNSEEN OLDEST INTERNALSIZE UNSEENMEDIA)
* STATUS mailbox (UNSEEN 14 OLDEST "23-Feb-2002 07:59:42 +0000" INTERNALSIZE 2345678 UNSEENMEDIA 1)
A001 OK completed
LIST
LIST コマンドには、LISTEXT 拡張標準で規定されているオプションのほか、次のオプションを 指定できます。
UIDVALIDITY, MESSAGES, UIDNEXT, UNSEEN, INTERNALSIZE, OLDEST, UNSEENMEDIA

上記のオプション(データアイテム) はいずれも、次のフォーマットで応答に挿入されます (option_name はオプション名、option_value はオプションの値です)。

\option_name(option_value)
例:
A001 LIST (CHILDREN UNSEEN INTERNALSIZE) "" "ma%"
* LIST (\HasNoChildren \UNSEEN(14) \INTERNALSIZE(2345678) \Unmarked) mailbox
A001 OK completed
その他のメッセージフラグ
$MDN、$Hidden、$Media の各IMAP メッセージフラグがサポートされており、この3 つのメッセージフラグの操作が可能です。また、$Service メッセージフラグをメッセージに設定 すると、そのメッセージがメールボックスビューに表示されなくなります。

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