電子メールやボイスメールを大量に受信すると、IMAP のメールボックスが非常に大きくなる可能性があります。メッセージストアの制限容量は、ユーザーまたはドメインが保持できるディスク容量またはメッセージ数を制限するもので、特定のフォルダまたは特定のメッセージタイプに対して設定されます。制限容量は、メッセージストアの使用量を制限または軽減するために使用されます。この節では、次の情報について説明します。
詳細については、「20.11.4 制限容量を監視する」を参照してください。
制限容量は、特定のユーザーまたはドメインを対象とし、メッセージ数またはバイト数に関して設定できます。特定のフォルダやメッセージタイプを対象として設定することもできます。メッセージタイプの制限容量では、ボイスメールや電子メールなどのメッセージタイプごとに制限容量を指定できます。フォルダの制限容量は、ユーザーのフォルダ (バイト単位) またはメッセージのサイズに制限を設定します。たとえば、ごみ箱フォルダの制限容量を設定できます。Messaging Server では、ドメインおよびユーザーに対して、デフォルトおよびカスタムの制限容量を設定することができます。
制限容量を設定すると、制限容量を超えた、または制限容量に近づいているユーザーやドメインに対するシステムの対応方法を設定することもできます。1 つの対応方法は、制限容量超過通知をユーザーに送信することです。もう 1 つの対応方法は、制限容量を超過したときにメッセージストアへのメッセージ配信を停止することです。これは、制限容量の適用と呼ばれ、指定された猶予期間が経過したあとで行われます。猶予期間とは、メールボックスが制限容量を超過してから制限容量が適用されるまでの期間です。制限容量を超過したためにメッセージ配信が停止された場合、次のどちらかの状態になるまで、着信メッセージは MTA キューに残ったままとなります。
ユーザーのメッセージのサイズまたは数が制限容量を超えない状態になったとき。この時点で MTA によってメッセージが配信されます。
未配信のメッセージの MTA キューに残留している期間が、メッセージが差出人に返されるよう指定された猶予期間を超えてしまったとき。(「20.8.4.5 猶予期間を設定する」を参照)。
メッセージがメッセージキューの最大時間を過ぎてもメッセージキューに残っているとき。これは、notices MTA チャネルキーワードによって制御されます (「10.10.4.3 通知メッセージの配信間隔を設定する」を参照)。
たとえば、猶予期間が 2 日間に設定されているときに 1 日分の制限容量を超えた場合、新しいメッセージは引き続き受信され、メッセージキュー内に保持され、配信試行は続行します。2 日目を過ぎると、メッセージは差出人に戻されます。
ユーザーがメッセージを削除するか、サーバーが設定された有効期限ポリシーに従ってメッセージを削除すると、ディスク容量が使用可能になります (「20.9 自動メッセージ削除 (有効期限および消去) 機能を設定する」を参照)。
統一されたメッセージング要件をサポートするために、Messaging Server ではメッセージストアによって課された制限容量を無効にする機能を提供しています。これにより、特定のエージェント、つまり Telephony Application Servers (TAS) が受け取ったメッセージが確実に配信されます。TAS によって受け入れられたメッセージは特別な MTA チャネルを通るようにルーティングされ、メッセージは制限容量に関係なくストアに配信されるようになります。これは、かなり難解な使用法ですが、テレフォニーアプリケーションに使用できます。TAS チャネルの設定の詳細については、Sun のメッセージング担当者にお問い合わせください。
統合されたメッセージングを使用するテレフォニーアプリケーションでは、メッセージタイプごとの制限容量が役に立ちます。たとえば、テキストやボイスメールなどの混在したメッセージがユーザーのメールボックスに保存されている場合、管理者はメッセージのタイプごとに異なる制限容量を設定できます。ユーザーの電子メールに特定の制限容量を設定し、ユーザーのボイスメールに別の制限容量を設定できます。
カスタマイズされたユーザーおよびドメイン制限容量は、LDAP のユーザーおよびドメインエントリに制限容量の属性を追加することによって指定します。制限容量のデフォルト、通知ポリシー、実施、および猶予期間は、configutil パラメータに指定するか、または『Sun Java System Messaging Server 6.3 Administration Reference』の「imquotacheck」コマンドを使用して指定します。
ユーザーが制限容量を超えているかどうかを判別するために、Messaging Server は、まず個々のユーザーに対する制限容量が設定されているかどうかを確認します。個別の制限容量が設定されていない場合、Messaging Server はすべてのユーザーに対して設定されているデフォルトの制限容量を確認します。ユーザーの場合、この制限容量は、ユーザーのすべてのフォルダに含まれるメッセージすべての累積バイト数またはメッセージ数に対するものです。ドメインの場合、この制限容量は、特定のドメインに属するすべてのユーザーのメッセージすべての累積バイト数またはメッセージ数に対するものです。メッセージタイプの場合、この制限容量は、そのメッセージタイプのメッセージすべての累積バイト数またはメッセージ数に対するものです。フォルダの場合、この制限容量は、ユーザーのフォルダに含まれるメッセージすべての累積バイト数またはメッセージ数に対するものです。
ユーザーのメールボックスツリーに対して、次の制限容量値を指定できます。
ユーザーのメールボックス内にある特定のフォルダに対する制限容量値。
ボイスメールやテキストメッセージなどの特定のメッセージタイプに対する制限容量値。メッセージタイプの制限容量は、ユーザーのメールボックス内のすべてのフォルダに含まれるそのタイプのメッセージに対して適用されます。
ユーザーのメールボックス内の、制限容量が明示的に割り当てられていないすべてのフォルダおよびメッセージタイプに適用されるデフォルトの制限容量。
1 人のユーザーに複数の制限容量値を割り当てる場合は、次のガイドラインが適用されます。
制限容量は重複しません。たとえば、特定のメッセージタイプまたはフォルダに対する制限容量がある場合、そのタイプのメッセージまたはそのフォルダ内のメッセージは、デフォルトの制限容量の対象にはなりません。各メッセージは、必ずただ 1 つの制限容量の対象になります。
ユーザーのメールボックス全体の制限容量は、デフォルト、タイプ別、およびフォルダ別で指定された制限容量すべての合計値と一致します。
メッセージタイプの制限容量は、フォルダの制限容量より優先されます。たとえば、ユーザーの memos フォルダに対して制限容量が指定され、ボイスメッセージに対して別の制限容量が指定されたとします。ユーザーが memos フォルダに 8 個のボイスメッセージを保存するとします。この 8 件のメッセージは、ボイスメッセージの制限容量の対象になりますが、memos フォルダの制限容量の対象にはなりません。
制限容量の属性および configutil パラメータに対する変更は自動的に有効になりますが、これはキャッシュに情報が保存された直後ではなく、変更が完全に有効になるまでにやや時間がかかります。Messaging Server には、変更をただちに更新する『Sun Java System Messaging Server 6.3 Administration Reference』の「iminitquota」コマンドが用意されています。
また、『Sun Java System Messaging Server 6.3 Administration Reference』の「imquotacheck」ユーティリティーを使用すると、割り当てられた制限容量に対するメッセージストアの使用量を確認できます。
この節では、メッセージストアの主要な制限容量の属性および configutil パラメータについて説明します。ここでの目的は、機能的インタフェースの概要を示すことです。これらの属性およびパラメータの詳細については、該当するリファレンスマニュアルを参照してください。
次の表は、制限容量の属性について説明したものです。『Sun Java Communications Suite 5 Schema Reference』を参照してください。
表 20–6 メッセージストアの制限容量の属性
属性 |
説明 |
---|---|
『Sun Java Communications Suite 5 Schema Reference』の「mailQuota」 |
ユーザーのメールボックスに指定できるディスク容量のバイトです。 |
『Sun Java Communications Suite 5 Schema Reference』の「mailMsgQuota」 |
ユーザーに許可された最大メッセージ数です。ストア内のすべてのフォルダの累積カウント。 |
『Sun Java Communications Suite 5 Schema Reference』の「mailUserStatus」 |
メールユーザーのステータス。指定できる値は、active、inactive、deleted、hold、overquota などです。 |
『Sun Java Communications Suite 5 Schema Reference』の「mailDomainDiskQuota」 |
ドメイン内のすべてのメールボックスの累積カウントに指定できるディスク容量のバイトです。 |
『Sun Java Communications Suite 5 Schema Reference』の「mailDomainMsgQuota」 |
ドメインに許可された最大メッセージ数です。つまり、ストア内のすべてのメールボックスの総数です。 |
『Sun Java Communications Suite 5 Schema Reference』の「mailDomainStatus」 |
メールドメインのステータスです。値とデフォルトは mailUserStatus と同じ。 |
次の表は、制限容量のパラメータについて説明したものです。最新の詳細情報については、『Sun Java System Messaging Server 6.3 Administration Reference』の第 3 章「Messaging Server Configuration」を参照してください。
表 20–7 メッセージストアの configutil パラメータ
パラメータ |
説明 |
---|---|
制限容量の適用を有効にします。オフの場合も、制限容量データベースは更新されますが、メッセージは常に配信されます。デフォルト: オン |
|
制限容量の通知を有効にします。デフォルト: オフ |
|
デフォルトの制限容量をバイト数によって保存します。デフォルト: -1 (無制限) |
|
デフォルトの制限容量をメッセージ数によって保存します。数値です。デフォルト: -1 (無制限) |
|
制限容量の警告メッセージです。指定しない場合、通知は送信されません。デフォルト: なし。 |
|
制限容量の超過の通知を送信する間隔 (日単位) です。デフォルト: 7 |
|
メールボックスへのメッセージが差出人に戻されるときの、メールボックスが制限容量を超過した時間です。「時間」デフォルト: 120 |
|
制限容量の警告のしきい値です。クライアントに制限容量の超過の警告が送信されるときの、制限容量を超えるパーセントです。デフォルト: 90 |
|
Netscape Messaging Server から移行したシステムとの互換性を提供するために使用されます。ON のとき、ディスク容量が制限容量を超過するメッセージを 1 つ配信できます。制限容量を超過すると、メッセージが遅延またはバウンスされ、制限容量の警告メッセージが送信され、制限容量の猶予期間のタイマーが開始されます。デフォルトでは、メッセージストアがしきい値に達したときに、制限容量の警告メッセージが送信されます。デフォルト: Off です。ただし、store.overquotastatus が設定されている場合は on とみなされます。そうでない場合、ユーザーは制限容量を超過することはできず、overquotastatus が使用されることはありません。 |
|
メッセージが MTA のキューに入れられる前に、制限容量の適用を有効にします。これによって、MTA キューがいっぱいになりません。このパラメータが設定されている場合、ユーザーがまだ制限容量を超過していないが、着信メッセージが制限容量を超過すると、メッセージが配信され、MTA がそれ以降はメッセージを受け入れないように mailuserstatus LDAP 属性に overquota が設定されます。デフォルト: off |
メッセージストアの制限容量機能には、いくつかのユーティリティーも含まれています。『Sun Java System Messaging Server 6.3 Administration Reference』の「iminitquota」は、制限容量の設定を初期化します。つまり、制限容量の属性および configutil パラメータは、このコマンドの実行後に有効になります。このコマンドを実行しなくても変更は有効になりますが、これはキャッシュに情報が保存された直後ではなく、変更が有効になるまでにやや時間がかかります。
また、『Sun Java System Messaging Server 6.3 Administration Reference』の「imquotacheck」ユーティリティーを使用すると、割り当てられた制限容量に対するメッセージストアの使用量を確認できます。
この節では、次の作業について説明します。
デフォルトの制限容量は、該当する LDAP エントリに個別の制限容量が設定されていないユーザーに適用されます。この処理は、1) デフォルトのユーザー制限容量の指定、2) デフォルトの制限容量にバインドされるユーザーの指定、の 2 つの手順で構成されます。次の例は、デフォルトのユーザー制限容量の設定方法を示したものです。パラメータの詳細については、『Sun Java System Messaging Server 6.3 Administration Reference』の第 3 章「Messaging Server Configuration」を参照してください。
メッセージのサイズ (バイト単位) に関するデフォルトのユーザーディスク制限容量を指定する場合は、次のようになります。
configutil -ostore.defaultmailboxquota -v [ -1 | number ]
ここで -1 は制限容量がない (メッセージの使用量に制限がない) ことを示し、number はバイト数を示します。
メッセージの合計数についてのデフォルトのユーザー制限容量を指定する場合は、次のようになります。
configutil -o store.defaultmessagequota -v [ -1 | number ]
ここで -1 は制限容量がない (メッセージ数に制限がない) ことを示し、number はメッセージ数を示します。
特定のユーザーについて、デフォルトの制限容量を指定する場合は、次のようになります。
デフォルトのメッセージストアの制限容量を使用する場合は、ユーザーエントリで、mailQuota 属性を -2 に設定します。mailQuota が指定されていない場合は、システムのデフォルトの制限容量が使用されます。
各ユーザーには、制限容量を個別に設定できます。ユーザー固有の制限容量を設定するには、ユーザーの LDAP エントリ内の『Sun Java Communications Suite 5 Schema Reference』の「mailQuota」属性または 『Sun Java Communications Suite 5 Schema Reference』の「mailMsgQuota」属性を設定します (詳細は『Sun Java System Messaging Server 6.3 Administration Reference』の「configutil Parameters」を参照)。次の例は、ユーザー制限容量の設定方法を示したものです。
システムのデフォルトの制限容量を指定するには、LDAP エントリに mailQuota を追加しないようにするか、または mailQuota を –2 に設定します。
制限容量を 1,000 メッセージに設定するには、mailMsgQuota を 1000 に設定します。
制限容量を 2M バイトに設定するには、mailQuota を 2M または 2000000 に設定します。
制限容量を 2G バイトに設定するには、mailQuota を 2G、2000000000、または 2000M に設定します。
制限容量を 2G バイト、ボイスメールの制限容量を 20M バイト、アーカイブフォルダの制限容量を 100M バイトにぞれぞれ指定する場合は、次のようになります。
mailQuota: 2G;#voice%20M;Archive%100M
2G バイトの制限容量は、ユーザーのメールボックス内の、制限容量が明示的に割り当てられていないすべてのフォルダに対応します。この例では、Archive フォルダ内のメッセージと voice タイプのメッセージは除外されます。100M バイトの制限容量には、Archive フォルダ内のすべてのフォルダが含まれます。
ドメインには、ディスク容量またはメッセージの制限容量を設定できます。これらの制限容量は、特定のドメイン内のすべてのユーザーの、累積されたバイトまたはメッセージすべてに対するものです。ドメイン制限容量を設定するには、該当する LDAP ドメインエントリで『Sun Java Communications Suite 5 Schema Reference』の「mailDomainDiskQuota」属性または 『Sun Java Communications Suite 5 Schema Reference』の「mailDomainMsgQuota」属性を設定します。
制限容量を 1,000 メッセージに設定するには、mailDomainMsgQuota を 1000 に設定します。
制限容量を 2M バイトに設定するには、mailDomainDiskQuota を 2M または 2000000 に設定します。
制限容量を 2G バイトに設定するには、mailDomainDiskQuota を 2G、2000000000、または 2000M に設定します。
制限容量の通知とは、制限容量に近づいたときにユーザーに警告メッセージを送信する処理のことです。この機能を使用するには、3 つの手順が必要です。
制限容量の通知を有効にします。
コマンド行で次のコマンドを実行します。
configutil -o store.quotanotification -v [ yes | no ]
メッセージに何も設定されなかった場合、ユーザーには制限容量の警告メッセージは送信されません。
制限容量の警告メッセージを定義します。
この警告メッセージは、ディスク制限容量に近づいたユーザーに送信されるメッセージです。コマンド行で制限容量の警告メッセージを定義する場合は、次のようになります。
configutil -o store.quotaexceededmsg -v ’message’
メッセージは RFC 822 形式でなければなりません。メッセージには少なくとも件名行を含むヘッダーがあり、$$、メッセージ本文がそのあとに続いている必要があります。$ は、新しい行を表します。使用しているシェルによっては、$ の前に \ を追加して、$ が持つ特殊な意味をエスケープする必要があることもあります (ほとんどの場合、$ はシェルのエスケープ文字。)例:
configutil -o store.quotaexceededmsg -v ”Subject: WARNING: User quota exceeded$$User quota threshold exceeded - reduce space used.’
さらに、次の変数がサポートされます。
[ID] - ユーザー ID
[DISKUSAGE] - ディスク使用量
[NUMMSG] - メッセージの数
[PERCENT] - store.quotawarn パーセンテージ
[QUOTA] - mailquota 属性
[MSGQUOTA] - mailmsgquota 属性
次にこれらの変数の使用例を示します。
configutil -o store.quotaexceededmsg -v ”Subject: Overquota Warning$$[ID],$$Your mailbox size has exceeded [PERCENT] of its alloted quota.$Disk Usage: [DISKUSAGE]$Number of Messages: [NUMMSG]$Mailquota: [QUOTA]$Message Quota: [MSGQUOTA]$$-Postmaster’
警告メッセージの送信頻度を指定する場合は、次のようになります。
configutil -o store.quotaexceededmsginterval -v number
この number は日数を示しています。たとえば、3 が入っていれば 3 日ごとにメッセージが送信されます。
制限容量のしきい値を指定します。
制限容量のしきい値は、クライアントに警告が送信されるときの、制限容量を超えたパーセンテージです。ユーザーのディスク使用量が指定したしきい値を超えたら、サーバーからユーザーに警告メッセージが送信されます。
local.store.quotaoverdraft=on の場合、store.quotawarn で設定されたしきい値に関係なく、ユーザーのディスク使用量が制限容量の 100% を超えるまで電子メール通知はトリガーされません。
クライアントが IMAP ALERT 機能をサポートしている IMAP ユーザーの場合は、ユーザーがメールボックスを選択するたびに画面にメッセージが表示され、メッセージは IMAP ログにも書き込まれます。
コマンド行で制限容量のしきい値を指定する場合は、次のようになります。
configutil -o store.quotawarn -v number
この number は許可された制限容量のパーセンテージを示しています。
デフォルトでは、制限容量を超えてもユーザーまたはドメインには何の影響もなく、制限容量超過通知が設定されている場合に通知を受信するだけです。制限容量を適用すると、ディスク容量が制限容量レベルを下回るまで、それ以上メッセージを受信しないようメールボックスをロックします。
制限容量の適用を有効または無効にするには、次のようにします。
configutil -o store.quotaenforcement -v [ on | off] |
制限容量を超過すると、メッセージは MTA キューに保存され、メッセージが配信されなかったが、あとで再配信が試行されることを示す通知が差出人へ送信されます。配信の再試行は、猶予期間の期限が切れて、すべてのメッセージが差出人に戻されるまで、またはディスク使用量が制限容量を下回り、メッセージを MTA キューから取り出してメッセージストアに配信できるようになるまで続行されます。制限容量を超えた場合に、メッセージをキューに入れる前にメッセージを返す場合は、次のコマンド行を使用します。
configutil -o store.overquotastatus -v on |
制限容量の適用をドメインレベルで有効にする
特定のドメインの制限容量を適用するには、次のコマンドを使用します。
すべてのドメインについて有効にするには、-d オプションを除外します。ドメインがその制限容量を超過すると、maildomainstatus 属性が overquota に設定され、このドメインへの全配信が停止します。ドメインが overquota でない場合、値は active に設定されます。
制限容量の適用を無効にする
ユーザーの制限容量が適用されているようである場合は、制限容量を無効にした場合でも、次のパラメータを確認してください。
次の configutil パラメータは、オフにするか設定しないようにする必要があります。
store.overquotastatus が on の場合、常に store.quotaoverdraft が on であるとみなし、そうでない場合はユーザーは制限容量を超過して拒否を引き起こすことはありません。また、store.quotaoverdraft が on の場合、ユーザーは制限容量よりも小さいメッセージを 1 つだけ許可されます。すなわち、ユーザーの制限容量よりも大きいメッセージは受け入れません。
これらのパラメータを変更したあとは、必ずメッセージングサービスを再起動してください。
次のメッセージストア属性はアクティブにする必要があります。
メッセージがメールボックスの制限容量よりも大きい場合は、制限容量の適用設定とは無関係にバウンスされます。
猶予期間は、メッセージを差出人にバウンスするまでメールボックスが制限容量 (ディスク容量やメッセージの数) を超えた状態でいられる期間を指定するものです。猶予期間とは、メッセージがメッセージキュー内に保持される期間ではなく、メッセージキュー内に含まれているすべての着信メッセージがバウンスされるまでに、メールボックスが制限容量を超えた状態でいられる期間です。(詳細は 「20.1 概要」を参照。) 猶予期間は、ユーザーが制限容量のしきい値に達し、警告を受けたときに開始します。「制限容量の通知を設定する」を参照してください。
コマンド行で制限容量の猶予期間を指定する場合は、次のようになります。
configutil -o store.quotagraceperiod -v number
この number は時間数を示しています。
Netscape Messaging Server のディスク使用量が制限容量を超過すると、サーバーはメッセージの配信を延期またはバウンスし、制限容量超過通知を送信して、猶予期間を開始します。Messaging Server には、この動作を保持するパラメータ local.store.quotaoverdraft があります。
ON に設定すると、メッセージはディスクの使用量が制限容量を超過するまで配信されます。超過時には、メッセージが延期され (メッセージは MTA メッセージキューに保持されるが、メッセージストアに配信されない)、制限容量超過警告メッセージがユーザーに送信されて、猶予期間が開始されます。猶予期間は、制限容量超過メッセージがバウンスされるまで、メールボックスが制限容量超過である期間を決定します。デフォルトでは、メッセージストアがしきい値に達したときに、制限容量の警告メッセージが送信されます。このパラメータのデフォルトは、Off です。