Sun Java System Messaging Server 6.3 管理指南

20.8.4 配置消息存储配额

本节介绍了以下任务:

20.8.4.1 指定默认用户配额

没有在 LDAP 条目中设置个人配额的用户将应用默认配额。该过程分为两个步骤:1) 指定用户默认配额 2) 指定哪些用户受默认配额限制。以下示例显示了如何设置默认用户配额。有关详细的参数信息,请参阅《Sun Java System Messaging Server 6.3 Administration Reference》中的第 3  章 “Messaging Server Configuration”

要以邮件大小(以字节为单位)的形式指定默认的用户磁盘配额,请运行以下命令:

configutil -o store.defaultmailboxquota -v [ -1 | number ]

其中 -1 表示无配额(无限制邮件使用量);number 表示字节数。

要以邮件总数的形式指定默认的用户配额,请运行以下命令:

configutil -o store.defaultmessagequota -v [ -1 | number ]

其中 -1 表示无配额(无限制邮件);number 表示邮件数。

要为特定用户指定默认配额:

在使用默认消息存储配额的用户条目中将 mailQuota 属性设置为 -2。请注意,如果没有指定 mailQuota,将使用系统默认的配额。

20.8.4.2 指定单个用户配额

每个用户均可以有单独的配额。要设置特定于用户的配额,请在用户 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 或将其设置为 –2

要将配额设置为 1,000 封邮件,请将 mailMsgQuota 设置为 1000

要将配额设置为 2 兆字节,请将 mailQuota 设置为 2M2000000

要将配额设置为 2 千兆字节,请将 mailQuota 设置为 2G20000000002000M

要指定 2 千兆字节的配额;20 兆字节的语音邮件配额;100 兆字节的 Archive 文件夹配额,请运行以下命令行:

mailQuota: 2G;#voice%20M;Archive%100M

2 千兆字节配额代表用户邮箱中所有没有明确分配配额的文件夹。在本例中,这不包括 Archive 文件夹中的邮件和语音类型的邮件。100 兆字节配额包括 Archive 文件夹所有子文件夹中的邮件。

20.8.4.3 指定域配额

您可以为域设置磁盘空间或邮件配额。这些配额是指特定域中所有用户的累积字节或邮件数。要设置域配额,请在所需的 LDAP 域条目中设置《Sun Java Communications Suite 5 Schema Reference》中的“mailDomainDiskQuota”或者《Sun Java Communications Suite 5 Schema Reference》中的“mailDomainMsgQuota” 属性。

要将配额设置为 1,000 封邮件,请将 mailDomainMsgQuota 设置为 1000

要将配额设置为 2 兆字节,请将 mailDomainDiskQuota 设置为 2M2000000

要将配额设置为 2 千兆字节,请将 mailDomainDiskQuota 设置为 2G20000000002000M

Procedure设置配额通知

配额通知是指当用户接近配额时向其发送警告邮件的过程。使用此功能需要执行以下三个步骤:

  1. 启用配额通知

    运行以下命令行:

    configutil -o store.quotanotification -v [ yes | no ]

    如果未设置邮件,则不会向用户发送任何配额警告邮件。

  2. 定义配额警告邮件

    警告邮件是指当用户快要超过磁盘配额时将向其发送的邮件。要通过命令行定义配额警告邮件,请运行以下命令:

    configutil -o store.quotaexceededmsg -v ’message

    邮件必须是 RFC 822 格式。必须包含一个标题(至少具有一个主题行),接着是 $$,然后是邮件正文。"$" 表示一个新的行。可能需要在 $ 前面添加一个 \,使 $ 不再具有特殊含义(取决于所使用的 shell)。($ 通常是 shell 的转义符。)示例:

    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’

  3. 指定发送警告邮件的频率。

    设置以下参数:

    configutil -o store.quotaexceededmsginterval -v number

    其中 number 表示天数。例如,3 表示每 3 天发送一次邮件。

  4. 指定配额阈值

    配额阈值是指向客户端发出警告前超出配额的百分比。用户的磁盘使用量超出指定的阈值时,服务器将向用户发送警告邮件。


    注 –

    local.store.quotaoverdraft=on 时,电子邮件通知不会被触发,直至用户的磁盘使用量超过配额的 100%,与使用 store.quotawarn 设置的阈值无关。


    对于其客户端支持 IMAP ALERT 机制的 IMAP 用户,邮件将在每次用户选择邮箱时显示在用户的屏幕上并且邮件还将被写入 IMAP 日志。

    要通过命令行指定配额阈值,请运行以下命令:

    configutil -o store.quotawarn -v number

    其中 number 表示允许的配额的百分比。

20.8.4.4 启用或禁用强制配额

默认情况下,用户或域可以超出其配额,除了收到超过配额通知(如果已设置)外没有任何影响。强制配额将锁定邮箱,使其不能再接收邮件,直到磁盘使用量降至低于配额级别。

启用或禁用强制配额:


configutil -o store.quotaenforcement -v [ on | off]

请注意,超过配额邮件保存到 MTA 队列中,并将向发件人发送通知,该通知说明未传送他们的邮件,但会在稍后尝试重新传送。传送重试将继续,直到宽限期过期并且所有邮件均被退回给发件人,或者磁盘使用量降至配额以下并且邮件可以从 MTA 中取消排队并传送到消息存储。如果要在邮件进入邮件队列之前将超过配额的邮件返回,请使用以下命令行:


configutil -o store.overquotastatus -v on

启用域级别的强制配额

要对特定域的配额进行强制,请使用以下命令:

imquotacheck -f -d domain

如果不使用 -d 选项,就可以为所有域启用强制配额。当域超出其配额时,maildomainstatus 属性将设置为 overquota它将停止所有到该域的传送。如果域不是 overquota,则值被设置为 active

禁用强制配额

如果出现用户配额正被强制执行的情况,那么即使您已禁用了它们,也请检查以下参数:

应该关闭或不设置这些 configutil 参数:

请注意,当 store.overquotastatuson 时,它始终将 store.quotaoverdraft 视为 on,否则用户将永远不会超过配额以触发拒绝。此外,当 store.quotaoverdrafton 时,仅允许用户接受一个比配额小的邮件。即它将永远不会接受比用户配额大的邮件。

对这些参数做出更改后,请确保重新启动邮件传送服务。

这些消息存储属性应处于活动状态:

请注意,如果邮件大于邮箱配额则它们将被退回,与强制配额配置无关。

20.8.4.5 设置宽限期

宽限期将指定邮件被退回发件人之前邮箱可以超出配额(磁盘空间或邮件数量)的时间。宽限期不是邮件将在邮件队列中保留的时间,而是退回所有外来邮件(包括邮件队列中的邮件)之前邮箱可以超出配额的时间。(有关更多详细信息,请参见20.1 概述。)宽限期从用户已达到配额阈值并被警告时开始。请参见设置配额通知

要通过命令行指定配额宽限期,请运行以下命令:

configutil -o store.quotagraceperiod -v number

其中 number 表示小时数。

20.8.4.6 Netscape Messaging Server 配额兼容性模式

在磁盘使用量超过 Netscape Messaging Server 中的配额后,服务器会延迟或退回邮件传送、发送超过配额通知并启动宽限期。Messaging Server 提供了一个参数 local.store.quotaoverdraft,可以保留此行为。

设置为 ON 时,将传送邮件直到磁盘使用量超过配额。那时,邮件将被延迟(邮件保留在 MTA 邮件队列中,不会被传送到消息存储),同时会向用户发送超过配额警告邮件,并且宽限期将启动。宽限期确定了邮箱超过配额多长时间后才会退回超过配额邮件。(默认值为当消息存储达到阈值时发送配额警告邮件。)此参数的默认值为 Off