Messaging Server filters are based on the Sieve filtering language, Draft 9 of the Sieve Internet Draft. See RFC3028 for more information about Sieve syntax and semantics. In addition, Messaging Server also supports the following Sieve extensions:
jettison. Similar to discard in that it causes messages to be silently discarded, but unlike discard, which does nothing but cancel the implicit keep, jettison forces a discard to be performed. The behavioral difference is only relevant when multiple Sieve filters are involved. For example, a system level discard can be overridden by a user Sieve filter explicitly specifying keep, whereas a system level jettison will override anything done by a user Sieve.
Head-of-household Sieve filters. Provides a means by which one user can specify a Sieve filter for another user. Uses two LDAP attributes in a user entry controlled by these MTA options:
LDAP_PARENTAL_CONTROLS - Specifies an attribute containing a string value of either Yes or No. Yes means a head of household Sieve is to be applied to this entry, No means no such Sieve is to be applied. No default.
LDAP_FILTER_REFERENCE - Specifies an attribute containing a DN pointing to a directory entry where the head of household Sieve can be found. No default.
The entry containing the head of household Sieve must contain two attributes specified by the following MTA options:
LDAP_HOH_FILTER - Specifies an attribute containing the head of household Sieve. The value of this option defaults to mailSieveRuleSource.
LDAP_HOH_OWNER - Specifies an attribute containing the email address of the owner of the head of household. The value of this option defaults to mail.
Both of these attributes must be present for the head of household Sieve to work.
Sieve redirect can now add three header fields:
resent-date: date-of-resend-operation resent-to: address-specified-in-redirect resent-from: addres-of-sieve-owner |
The new :resent and :noresent arguments to redirect can be used to control whether or not these fields are added. If neither argument is specific the system default is used. The system default is controlled by the new SIEVE_REDIRECT_ADD_RESENT MTA option. Setting the option to 1 causes these fields to be generated unless :noresent used. A setting of 0 causes the fields to be generated only if :resent is used. The option defaults to 1, which means the fields are generated by default for regular redirects.
Sieve redirect has been enhanced with three new arguments:
:resetmailfrom - Reset the envelope FROM: address to that of the current Sieve owner.
:keepmailfrom- Preserve the envelope FROM:address from the original message.
:notify - Specify a new set of notification flags for the redirected message. A single parameter is required giving a list of notification flags. The same set of flags accepted by the NOTIFY parameter of the DSN SMTP extension are accepted here: SUCCESS, FAILURE, DELAY and NEVER. Note that these flags are specified as a Sieve list, for example:
redirect :notify ["SUCCESS","FAILURE"] "foo@example.com"; |
The default if :notify isn't specified as the normal SMTP default of FAILURE, DELAY. :keepmailfrom is the default unless :notify is specified, in which case the default switches to :resetmailfrom. The one additional exception is that specification of the SUCCESS flag forces the use of :resetmailfrom unconditionally.