Sun Java System Messaging Server 6.3 管理ガイド

5.6 IMAP サービスを設定する

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

5.6.1 IMAP IDLE の設定

IMAP 仕様に対する IMAP IDLE 拡張 (RFC 2177 で定義) では、新しいメッセージが到着したときやその他の更新がユーザーのメールボックスで発生したときに、IMAP サーバーが電子メールクライアントに通知する機能が追加されています。IMAP IDLE 機能には次の利点があります。

5.6.1.1 前提条件

IMAP IDLE 機能では、イベント通知サービス (ENS) を使用して通知を伝達します。IMAP IDLE を使用するには、次の ENS コンポーネントを設定してください。

Messaging Server 用の ENS の設定については、『Sun Java System Communications Services Event Notification Service Guide』を参照してください。

Ibiff 通知プラグインの設定については、「B.1 Messaging Server に ENS Publisher をロードする」を参照してください。

ProcedureIMAP IDLE を設定する

  1. メッセージストアを実行しているホストからの接続のみを受け付けるように enpd サーバーを設定します。

    メッセージストアホストへの接続を制限するには、ENS_ACCESS 環境変数を設定します。この環境変数は、enpd へのアクセスを許可するアクセス権のリストを設定します。構文は次のとおりです。


    setenv ENS_ACCESS 'allowdeny ipaddress|mask;
    allowdeny ipaddress|mask; ...' 

    次に、各引数について説明します。

    allowdeny

    + (許可を指定する場合) または — (拒否を指定する場合) のどちらかです。

    ipaddress

    ドット区切り 10 進数の IP アドレスを指定します。

    mask

    ドット区切り 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'
  2. 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"
  3. 通知に使用するイベントキーを指定します。

    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"
  4. Messaging Server 用の ENS パブリッシャーを有効にする libibiff 通知プラグインファイルを読み込みます。

    次のように configutil コマンドを実行します。


    ./configutil -o local.store.notifyplugin -v "msg-svr-base/lib/libibiff"
  5. 受信箱だけでなく、すべてのユーザーメールボックスから通知が送信されるようにします。

    デフォルトでは、受信箱内で発生したイベントによってのみ通知が生成されます。ただし、IMAP IDLE RFC (2177) では、どのメールボックスでイベントが発生した場合でも常に、IDLE はクライアントに通知する必要があると規定されています。

    この RFC に準拠するために、IMAP IDLE 機能を使用するには、すべてのメールボックスの通知を有効にする必要があります。そうでない場合、IMAP サーバーは IDLE 機能を通知しません。

    すべてのメールボックスの通知を設定するには、configutil コマンドの noneinbox を 1 の値に設定します。


    ./configutil -o local.store.notifyplugin.noneinbox.enable -v 1

    ここで、-v 1 は、すべてのメールボックスからの通知を有効にします。

  6. root として Messaging Server をいったん停止してから再起動します。


    cd msg-svr-base/sbin
    
    ./stop-msg
    
    ./start-msg
  7. 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))