Autoresponse periodicity MTA options
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.
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
: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.
notify Sieve action may specify an explicit timeout via use of a
: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_autoreply_addresses, as well as the already mentioned
- autoreply_timeout_default MTA Option
- notify_maximum_timeout MTA Option
- notify_minimum_timeout MTA Option
- notify_timeout_default MTA Option
- vacation_cleanup MTA Option
- vacation_maximum_timeout MTA Option
- vacation_minimum_timeout MTA Option
- vacation_template MTA Option
- ldap_autoreply_timeout MTA Option
- ldap_domain_attr_autoreply_timeout MTA Option
- Sieve notify extension
- Sieve vacation extension
- Why a vacation message was not generated
- MTA options