Sun Java System Messaging Server 6 2005Q4 管理指南

设置实现自动删除邮件策略的规则

要实现上一节中定义的自动删除邮件策略,必须设置 imexpire 规则。可以通过将规则放入 store.expirerule 文件来设置规则。以下所示为两个全局 store.expirerule 规则的示例:


Rule1.regexp: 1
Rule1.folderpattern: user/.*/trash
Rule1.messagedays: 2
Rule2:regexp: 1
Rule2.folderpattern: user/.*
Rule2.messagedays: 14

            

在此示例中,规则 1 指定垃圾文件夹中的所有邮件将在两天后被删除。规则 2 指定邮件存储中的所有邮件将在 14 天后被删除。

本节包含以下几个部分:

过期规则原则

本节介绍设置 store.expirerule 文件规则的原则。


注 –

在早期的 Messaging Server 发行版中,可以使用 configutil 参数 store.expirerule.attribute 来设置过期规则(请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“configutil Parameters”)。现在仍然可以使用,但不支持使用标题约束的过期规则(例如:使用特定主题行作为邮件过期规则)。无论如何,使用 store.expirerule 指定所有过期规则是最佳选择。


表 18–8 imexpire 属性

属性 

说明(属性值) 

exclusive

指定规则是否为专用规则。如果指定为 exclusive,则只有此规则应用于指定的邮箱,而所有其他规则都将被忽略。如果存在多个专用规则,则将使用最后装入的专用规则。例如,如果指定了全局专用规则和本地专用规则,则将使用本地规则。如果有多个全局专用规则,则使用 configutil 列出的最后一个全局规则。(1/0)

folderpattern

指定此规则影响的文件夹。格式必须以 user/ 开始,表示目录 store_root/partition/*/。请参见图 18–4表 18–9。(POSIX 正则表达式)

messagecount

文件夹中邮件的最大数量。传送附加的邮件时,最早的邮件将被擦除。(整数) 

foldersize

传送附加的邮件时,擦除最早的邮件之前文件夹的最大大小。(以字节为单位的整数) 

messagedays

邮件被擦除前的生存期(以天为单位)。(整数) 

messagesize

在标记为将被擦除前,邮件的最大大小(以字节为单位)。(整数) 

messagesizedays

宽限期。超大邮件可以保留在文件夹中的天数。(整数) 

邮件标题字段

指定标题字段和标记要删除的邮件的字符串。值不区分大小写,正则表达式不会被识别。示例:Rule1.Subject: Get Rich Now!

对于标题过期过期日期,如果在这些标题字段中指定的日期值早于 messagedays 属性,则 imexpire 将删除邮件。如果指定了多个过期标题字段,将采用最早的过期日期。(字符串)。

regexp

在创建规则时启用 UNIX 正则表达式。(1 或 0)。如果未指定,则将使用 IMAP 表达式。 

seen

seen 是用户打开邮件时,系统设置的邮件状态标志。如果属性 seen 设置为 and,则邮件必须已被阅读并且在规则实施前必须满足其他条件。 如果属性 seen 设置为 or,则邮件仅需已被阅读或在规则实施前满足另一个条件。(and/or)。

deleted

deleted 是用户删除邮件时,系统设置的邮件状态标志。如果属性 deleted 设置为 and,则邮件必须被删除并且在规则实施前必须满足另一个条件。如果属性 deleted 设置为 or,则邮件仅需已被阅读在规则实施前满足另一个条件。(and/or)

通过文本方式设置 imexpire 规则

通过在 store.expirerule 文件中指定规则来设置自动删除邮件规则。store.expirerule 文件中每行包含一个过期条件。全局规则配置文件 (msg_svr_base/data/store/store.expirerule) 的过期条件的格式如下:

rule_name.attribute : value

用户或邮箱规则配置文件的过期规则的格式如下:

attribute: value

示例 18–1 显示了 msg_svr_base/config/store.expirerule 中的一组全局过期规则。

规则 1 设置全局过期策略(即应用于所有邮件的策略),如下所示:

规则 2 为托管域 siroe.com 中的用户设置自动删除邮件策略。它将邮箱大小限制为 1 兆字节,删除已删除的邮件,并删除 14 天前的邮件。

规则 3 为用户 f.dostoevskiinbox 文件夹中的邮件设置自动删除邮件策略。它将删除主题行带有表达式 "On-line Casino" 的邮件。


示例 18–1 imexpire 规则示例


Rule1.regexp: 1
Rule1.folderpattern: user/.*
Rule1.messagesize: 100000
Rule1.messagesizedays: 3
Rule1.deleted: or
Rule1.Subject: Vigara Now!
Rule1.Subject: XXX Porn!
Rule1.messagecount: 1000
Rule1.messagedays: 365
Rule2.regexp: 1
Rule2.folderpattern: user/.*@siroe.com/.*Rule2.exclusive: 1
Rule2.deleted: or
Rule2.messagedays: 14
Rule2.messagecount: 1000
Rule3.folderpattern: user/f.dostoevski/inboxRule3.Subject: *On-line Casino*
                  

设置 imexpire 文件夹模式

通过将 imexpire 属性 regex 设置为 1,可以使用 POSIX 正则表达式指定文件夹模式。如果未指定,则将使用 IMAP 表达式。格式必须以 user/ 开头,后跟一种模式。表 18–9 显示了各种文件夹的文件夹模式。)

表 18–9 使用正则表达式的 imexpire 文件夹模式

文件夹模式 

范围 

user/userid/.*

将规则应用于 userid 的所有文件夹中的所有邮件。

user/userid/Sent

将规则应用于 userid 在文件夹 Sent 中的邮件:

user/.*

将规则应用到整个邮件存储。 

user/.*/trash

将规则应用于所有用户的 trash 文件夹。

user/.*@siroe.com/.*

将规则应用到托管域 siroe.com 中的文件夹: 

user/[^@]*/.*

将规则应用到默认域中的文件夹。 

Procedure使用 Console 设置全局自动删除邮件规则

请注意,虽然可以使用 Console 设置全局过期规则,但是使用 store.expirerule 是首选方法。如果使用 Console 或 configutil 创建的规则太多,可能会产生性能问题。

步骤
  1. 如下所示调出自动删除邮件 GUI:

    “主控制台”>“服务器组”> "Messaging Server"(打开)>“Messaging Server 控制台”>“配置”选项卡 >“邮件存储”>“过期/清除”>“添加”

    图 18–4 显示了 GUI 的草图。

    图 18–4 自动删除邮件(过期/清除)GUI—草图

    图形中显示了自动删除邮件 GUI 所对应的图。

  2. 输入新规则的名称。

  3. 输入将从其中自动删除邮件的文件夹。

    请参见上述设置 imexpire 文件夹模式

  4. 如果此规则是与指定条件相匹配的文件夹的专用规则,则请选取“专用”框。

    如果已选取此框,则此规则将优先于与指定模式相匹配的所有其他规则。有关专用复选框的详细信息,请参见表 18–8

  5. 要创建基于文件夹大小的规则,请执行以下操作:

    • 选取“文件夹大小约束”复选框。在“邮件计数”字段中,指定在最早的邮件被删除之前文件夹中将保留的邮件的最大数目。在“文件夹大小”字段中,指定最早的邮件被删除之前最大的文件夹大小(以字节为单位)。

  6. 要创建基于邮件生存期的规则,请选取“邮件生存期约束”复选框:

    在“天数”字段中,指定邮件可以在文件夹中保存的时间(以天为单位)。

  7. 要创建基于邮件大小的规则,请执行以下操作:

    • 选取“邮件大小限制约束”复选框。在“邮件大小限制”字段中,输入文件夹中允许的邮件的最大大小。在“宽限期”字段中,输入超大邮件被删除前在文件夹中保存的时间。

  8. 要创建基于是否已设置“已读”或“已删除”标志的规则,请执行以下操作:

    • 选取“邮件标志约束”复选框。

    • 对于“已读:” 字段,选择“和”将指定邮件必须已被阅读并且在规则实施前必须满足另一个条件。选择“或”将指定邮件仅需已被阅读在规则实施前满足另一个条件。

    • 对于“已删除:” 字段,选择“和”将指定邮件必须被删除并且在规则实施前必须满足另一个条件。选择“或”将指定邮件仅需被删除在规则实施前满足另一个条件。

  9. 要创建基于标题字段及其值的规则,请执行以下操作:

    • 选取“标题约束”复选框。

    • 用以下格式输入以逗号分隔的标题和值的列表:

      header1: value1, header2 : value2

      示例:Subject: Work at Home!,From: virus@sesta.com

      对于标题过期过期日期,如果其日期值早于“邮件生存期约束”,则系统将删除该邮件。如果指定了多个过期标题字段,将采用最早的过期日期。(字符串)。

  10. 单击“确定”以将新规则添加到“自动删除邮件”列表中。