configutil コマンドを使用して、Messaging Server IMAP サービスの基本設定を行うことができます。この節では、一般的な IMAP サービスのオプションについて説明します。完全なリストは、『Sun Java System Messaging Server 6.3 Administration Reference』の第 3 章「Messaging Server Configuration」にあります。詳細は、以下を参照してください。
コマンド行: 次に示すように、コマンド行から IMAP 属性の値を設定できます。
IMAP サービスを有効または無効にする
configutil -o service.imap.enable -v [ yes | no ]
ポート番号を指定する
configutil -o service.imap.port -v number
「SSL を使用した IMAP」用に別のポートを有効にする
configutil -o service.imap.enablesslport -v [ yes | no ]
「SSL を使用した IMAP」のポート番号を指定する
configutil -o service.imap.sslport -v number
IMAP サービスでパスワードログインを有効または無効にする
configutil -o service.imap.plaintextmincipher -v value
値が 0 より大きい場合は、セキュリティーレイヤー (SSL または TLS) が有効でないかぎり、プレーンテキストのパスワードの使用を無効にします。これによりユーザーは、ログインする自分のクライアントで SSL または TLS を強制的に有効にすることになり、自分のパスワードがネットワーク上で漏洩することを防ぎます。デフォルトは 0 です。
プロセス当たりの最大ネットワーク接続数を設定する (詳細は、「5.3.2 プロセス当たりの接続数」を参照)
configutil -o service.imap.maxsessions -v number
接続の最大アイドル時間を設定する (詳細は、「5.3.4 アイドル接続を切断する」を参照)
configutil -o service.imap.idletimeout -v number
プロセス当たりの最大スレッド数を設定する (「5.3.3 プロセス当たりのスレッド数」を参照)
configutil -o service.imap.maxthreads -v number
最大プロセス数を設定する (「5.3.1 プロセス数」を参照)
configutil -o service.imap.numprocesses -v number
プロトコルにようこそバナーを指定する
configutil -o service.imap.banner -v banner
IMAP 仕様に対する IMAP IDLE 拡張 (RFC 2177 で定義) では、新しいメッセージが到着したときやその他の更新がユーザーのメールボックスで発生したときに、IMAP サーバーが電子メールクライアントに通知する機能が追加されています。IMAP IDLE 機能には次の利点があります。
メールクライアントが、受信メッセージについて IMAP サーバーにポーリングする必要がありません。
クライアントポーリングの排除により、IMAP サーバーにかかる負荷が減少し、サーバーのパフォーマンスが向上します。クライアントポーリングは、ユーザーがほとんどまたはまったくメッセージを受信しないときにもっともリソースを浪費します。クライアントは設定された間隔で (通常、5 分または 10 分おきに) ポーリングを続けます。
メールクライアントは、メッセージがユーザーのメールボックスに到着する実際の時間にずっと近いタイミングで、ユーザーに新しいメッセージを表示します。メッセージステータスの変化も、ほぼリアルタイムで表示されます。
IMAP サーバーは、新規または更新されたメールメッセージをクライアントに通知する前に、次の IMAP ポーリングを待機する必要はありません。その代わりに、IMAP サーバーは新しいメッセージが到着した、またはメッセージのステータスが変化した時点でただちに通知を受信します。サーバーはその後、IMAP プロトコル経由でクライアントに通知します。
IMAP IDLE 機能では、イベント通知サービス (ENS) を使用して通知を伝達します。IMAP IDLE を使用するには、次の ENS コンポーネントを設定してください。
少なくとも 1 つのホスト上の enpd サーバー
すべてのメッセージストアホスト上の Ibiff 通知プラグイン
Messaging Server 用の ENS の設定については、『Sun Java System Communications Services Event Notification Service Guide』を参照してください。
Ibiff 通知プラグインの設定については、「B.1 Messaging Server に ENS Publisher をロードする」を参照してください。
メッセージストアを実行しているホストからの接続のみを受け付けるように enpd サーバーを設定します。
メッセージストアホストへの接続を制限するには、ENS_ACCESS 環境変数を設定します。この環境変数は、enpd へのアクセスを許可するアクセス権のリストを設定します。構文は次のとおりです。
setenv ENS_ACCESS 'allowdeny ipaddress|mask; allowdeny ipaddress|mask; ...' |
次に、各引数について説明します。
+ (許可を指定する場合) または — (拒否を指定する場合) のどちらかです。
ドット区切り 10 進数の IP アドレスを指定します。
ドット区切り 10 進数の IP アドレスマスクを指定します。
例:
次の例では、ローカルホストへのアクセスのみを許可しています。
setenv ENS_ACCESS '+127.0.0.1|255.255.255.255' |
次の例では、ローカルホストと、192.168.0.17 を除くすべての IP アドレス 192.168.0.* へのアクセスを許可しています。
setenv ENS_ACCESS '+192.168.0.1|255.255.255.0;+127.0.0.1|255.255.255.255; \ -192.168.0.17;255.255.255.255' |
mailsrv として configutil ユーティリティーを実行して、ENS サーバーが動作しているホストの名前を指定します。
cd msg-svr-base ./configutil -o local.store.notifyplugin.ensHost -v "ipaddress" |
ここで、ipaddress は、ENS ホストマシンのドット区切り 10 進数の IP アドレスを指定します。
例:
cd msg-svr-base ./configutil -o local.store.notifyplugin.ensHost -v "127.0.0.1" |
通知に使用するイベントキーを指定します。
ENS イベントキー (ensEventKey) がデフォルト値に設定されていると、IMAP IDLE は動作しません。
ensEventKey 値を %M で終わるように設定してください。文字列 %M は、イベントが発生したメールボックスの名前に置き換えられる置換コードです。
次のように configutil コマンドを実行します。
./configutil -o local.store.notifyplugin.ensEventKey -v "eventkey" |
ここで、eventkey は ENS で使用される一意の識別子です。そのデフォルト値は enp://127.0.0.1/store です。イベントキーのホスト名の部分は、ENS が実行されているホストの判定には使用されず、単に識別子の一部でしかありません。
例:
./configutil -o local.store.notifyplugin.ensEventKey -v "enp://127.0.0.1/store/%M" |
Messaging Server 用の ENS パブリッシャーを有効にする libibiff 通知プラグインファイルを読み込みます。
次のように configutil コマンドを実行します。
./configutil -o local.store.notifyplugin -v "msg-svr-base/lib/libibiff" |
受信箱だけでなく、すべてのユーザーメールボックスから通知が送信されるようにします。
デフォルトでは、受信箱内で発生したイベントによってのみ通知が生成されます。ただし、IMAP IDLE RFC (2177) では、どのメールボックスでイベントが発生した場合でも常に、IDLE はクライアントに通知する必要があると規定されています。
この RFC に準拠するために、IMAP IDLE 機能を使用するには、すべてのメールボックスの通知を有効にする必要があります。そうでない場合、IMAP サーバーは IDLE 機能を通知しません。
すべてのメールボックスの通知を設定するには、configutil コマンドの noneinbox を 1 の値に設定します。
./configutil -o local.store.notifyplugin.noneinbox.enable -v 1 |
ここで、-v 1 は、すべてのメールボックスからの通知を有効にします。
root として Messaging Server をいったん停止してから再起動します。
cd msg-svr-base/sbin ./stop-msg ./start-msg |
IMAP サービスに IDLE 機能が含まれたことを確認します。telnet を使用して IMAP のホストとポートに接続します。
telnet IMAP_hostname port |
例:
telnet myhost imap trying 192.18.01.44 ... connected to myhost.siroe.com * OK [CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN BINARY UNSELECT SORT LANGUAGE STARTTLS IDLE XSENDER X-NETSCAPE XSERVERINFO X-SUN-SORT X-SUN-IMAP X-ANNOTATEMORE AUTH=PLAIN] myhost.siroe.com IMAP4 service (Sun Java(tm) System Messaging Server 6.3-0.05 (built Feb 7 2006)) |