Autoresponse periodicity MTA options

From Messaging Server Technical Reference Wiki
Jump to: navigation, search

The MTA has several options affecting its memory/tracking of previous vacation (autoreply) messages, and as of 7.0.5 its Sieve notify autoresponses, and hence its limiting of successive such messages: in other words, options controlling the periodicity of autoresponses.

For each user, the MTA maintains an autoresponse information file, the purpose of which is to record for which prior messages a vacation message has already been sent, (or as of 7.0.5, a Sieve notify action was performed), used to avoid sending additional identical autoresponse messages "too soon". The per-user, autoresponse information files are flat text files, one per local user. The files are located and named via a configurable template, specified by the vacation_template MTA option. In a user's autoresponse file, the MTA records the most recent time at which the user sent back what would be the "same" vacation message to the "same" original sender (same recipient of potential same vacation message). And as of 7.0.5, the MTA similarly records in the autoresponse file the most recent time the user had a Sieve notify action performed in response to the "same" message sender.

An explicit vacation action in a Sieve script may specify the timeout (period between sending back another "identical" vacation message to the same sender) via the standard :days parameter, or the MTA's extension :hours or :seconds parameters. Or a user's mailAutoReply* LDAP attribute values (which the MTA uses to construct on-the-fly a Sieve vacation action) may specify such a timeout via the value of the LDAP attribute named by the ldap_autoreply_timeout MTA option (default mailAutoReplyTimeout); if the user does not have their own mailAutoReplyTimeout set, then the domain value, if specified via the LDAP attribute named by the ldap_domain_attr_autoreply_timeout MTA option, will be used; or if neither the user nor the domain has such a value set, then the system wide default specified via the autoreply_timeout_default MTA option will be used.

Any such timeout settings must be greater than or equal to the minimum allowed by the vacation_minimum_timeout MTA option; values less than that will be silently (no error) adjusted upwards to the vacation_minimum_timeout value. Similarly, as of the 8.0 release, values greater than the value of the vacation_maximum_timeout MTA option will be silently adjusted downwards to that option's value.

When the MTA is deciding whether or not to generate a vacation message back to some original sender due to existence of either an explicit vacation action in a Sieve applying for the original message recipient, or mailAutoReply* LDAP attributes (more precisely, LDAP attributes named by ldap_autoreply_* MTA options) of the original message recipient, the MTA looks in the autoresponse suppression file corresponding to the original message recipient, looking up with a key based on the original message sender and the substance of the original message recipient's vacation message to find the time (if any) of the last such vacation response. If the time is "too soon", no vacation message will be generated. Here "too soon" is as defined above: set either via an explicit vacation action timeout parameter, or mailAutoReplyTimeout if a vacation action is being generated for a user due to mailAutoReply* attribute use, as defaulted by domain and system defaults, and constrained by the system minimum permissible value.

A user's notify Sieve action may specify an explicit timeout via use of a :days, :hours, or :seconds parameter. Any such value must be at least the value of the notify_minimum_timeout MTA option and no greater than the value of the notify_maximum_timeout MTA option, or it will be silently (with no error) adjusted to conform to the permitted range. If no explicit timeout is specified, then the value of the notify_timeout_default MTA option is used.

Maintenance (clean up) of the per-user autoresponse files is performed automatically by the MTA, on a lazy (only when a file is already being opened), randomized (not performed every time) basis. In particular, the vacation_cleanup MTA option controls the probabilistic frequency of clean up of expired old entries from any such file.

For options relating to other aspects of vacation messages, see also the max_vacations MTA option and all the rest of the MTA options naming various LDAP attributes that specify aspects of vacation messages, ldap_start_date, ldap_end_date, ldap_autoreply_mode, ldap_autoreply_subject, ldap_autoreply_text, ldap_autoreply_text_internal, ldap_autoreply_addresses, as well as the already mentioned ldap_autoreply_timeout, and ldap_domain_attr_autoreply_timeout.

See also: