Messaging Server 过滤器基于 Sieve 过滤语言 (Draft 9 of the Sieve Internet Draft)。有关 Sieve 语法和语义的更多信息,请参见 RFC3028。此外,Messaging Server 还支持以下 Sieve 扩展:
jettison。与 discard 类似,它也可以无提示删除邮件,但不同的是,discard 只取消隐含保留而不进行其他任何操作,而 jettison 将强制执行 discard。这种行为差异仅在涉及到多个 Sieve 过滤器时才比较明显。例如,系统级别的 discard 可由明确指定 keep 的用户 Sieve 过滤器替换,而系统级别的 jettison 将替换用户 Sieve 执行的任何操作。
户主 Sieve 过滤器。提供了一个用户为另一个用户指定 Sieve 过滤器的方法。使用由以下 MTA 选项控制的用户条目中的两个 LDAP 属性:
LDAP_PARENTAL_CONTROLS—指定包含 Yes 或 No 字符串值的属性。Yes 表示将对此条目应用户主 Sieve,No 表示将不应用此类 Sieve。无默认值。
LDAP_FILTER_REFERENCE—指定包含 DN 的属性,该 DN 指向可以找到户主 Sieve 的目录条目。无默认值。
包含户主 Sieve 的条目必须包含由以下 MTA 选项指定的两个属性:
LDAP_HOH_FILTER—指定包含户主 Sieve 的属性。此选项的默认值为 mailSieveRuleSource。
LDAP_HOH_OWNER—指定包含户主拥有者的电子邮件地址的属性。此选项的默认值为 mail。
这两个属性必须同时存在才能使户主 Sieve 运行。
Sieve 重定向现在可以添加以下三个标题字段:
resent-date: date-of-resend-operation resent-to: address-specified-in-redirect resent-from: addres-of-sieve-owner |
可以使用新的重定向参数 :resent 和 :noresent 控制是否添加这些字段。如果没有这两个参数,将使用系统默认值。系统默认值由新的 SIEVE_REDIRECT_ADD_RESENT MTA 选项控制。将选项设置为 1 时,只要没有使用 :noresent,就能生成这些字段。设置为 0 时,当且仅当使用 :resent 时才能生成这些字段。选项默认值为 1,表示默认情况下为常规重定向生成字段。
Sieve 重定向通过以下三个新参数得到了增强:
:resetmailfrom - 将信封 FROM: 地址重置为当前 Sieve 拥有者的地址。
:keepmailfrom- 保存原始邮件的信封 FROM: 地址。
:notify - 为重定向的邮件指定一个新的通知标志集。指定一个通知标志列表只需要一个参数。DSN SMTP 扩展的 NOTIFY 参数能接受的标志集在此处同样能被接受:SUCCESS、FAILURE、DELAY 和 NEVER。请注意,这些标志被指定为一个 Sieve 列表,例如:
redirect :notify ["SUCCESS","FAILURE"] "foo@example.com"; |
如果没有将 :notify 指定为常规 SMTP 默认值 FAILURE,则默认值为 DELAY。如果没有指定 :notify,则默认值为 :keepmailfrom;如果指定了 :notify,则默认值将变为 :resetmailfrom。一个例外情况是,如果使用 SUCCESS 标志,将无条件的强制使用 :resetmailfrom。