The smartuser director matches any local part, so it can be used to handle local addresses that all other directors have declined. It is, of course, subject to the generic director options, so specific instances can be used for all addresses in certain domains, or all local parts with certain prefixes or suffixes, or specific local parts, or any other generic condition.
If a transport is specified, smartuser directs the message to that transport, either using the original address, or, if new_address is set, using a new envelope address. No checking for duplication takes place. The original address is available to the transport via the expansion variables $original_local_part and $original_domain.
If no transport is specified, new_address must be set, and smartuser treats its value as if it were a line from an alias file. It must consist of a comma-separated list of items as defined in section 23.3. The special values :blackhole:, :defer:, and :fail: (but not :include:) may be used, and file or pipe items may also appear. If any new address is a duplicate of any other address in the message, it is discarded.
Type: string, expanded
A smartuser director sets up a direct delivery to a directory when a path
name ending with a slash is specified as a new `address'. The transport used is
specified by this option, which, after expansion, must be the name of a
configured transport.
Type: string, expanded
A smartuser director sets up an alternative direct delivery to a directory
when a path name ending with two slashes is specified as a new `address'. The
transport used is specified by this option, which, after expansion, must be the
name of a configured transport.
Type: string, expanded
A smartuser director sets up a direct delivery to a file when a path name not
ending in a slash is specified as a new `address'. The transport used is
specified by this option, which, after expansion, must be the name of a
configured transport.
Type: boolean
If this option is true, this director may not generate a new address which
specifies delivery to a local file or directory. If it attempts to do so, a
delivery failure occurs.
Type: boolean
If this option is true, this director may not generate a new address which
specifies delivery to a pipe. If it attempts to do so, a delivery failure
occurs.
Type: boolean
If this option is set true, it prevents Exim from quoting a child address if it
generates a bounce or delay message for it. Instead it says `an address
generated from <the top level address>'. Of course, this applies only to
bounces generated locally. If a message is forwarded to another host, its
bounce may well quote the generated address.
directory_transport (smartuser)
Default: unset
directory2_transport (smartuser)
Default: unset
file_transport (smartuser)
Default: unset
forbid_file (smartuser)
Default: false
forbid_pipe (smartuser)
Default: false
hide_child_in_errmsg (smartuser)
Default: false
Type: string, expanded
Default: unset
When transport is not set, this option is treated like a line from an alias file. Any unqualified addresses it contains are qualified using the value of qualify_recipient. This is the most common configuration for smartuser.
When transport is set, new_address specifies a single new address, to replace the current one in the message's envelope when it is transported. The address must be qualified (that is, contain an @ character).
In both cases, new addresses are rewritten by Exim's normal rewriting rules (see chapter 34) unless the rewrite option is turned off.
The value of new_address is expanded, so settings such as
new_address = $local_part@some.new.host
can be used, or a file lookup on the local part can be done. If the expansion fails as a result of an explicit `fail' item in an expansion sub-expression, the director just declines to handle the address. Otherwise, an expansion failure is treated as a serious configuration error, and causes a panic, unless panic_expansion_fail is set false, in which case the same action is taken as for `fail'.
Type: boolean
Default: true
See new_address above.
Type: string, expanded
A smartuser director sets up a direct delivery to a pipe when a string
starting with a vertical bar character is specified as a new `address'. The
transport used is specified by this option, which, after expansion, must be the
name of a configured transport.
Type: boolean
If this is set and an unqualified address (one without a domain) is present in
new_address, it is qualified with the domain of the incoming address instead
of the global setting in qualify_recipient.
pipe_transport (smartuser)
Default: unset
qualify_preserve_domain (smartuser)
Default: false
Type: boolean
Default: true
If this option is set false, addresses specified by new_address are not subject to rewriting.
Go to the first, previous, next, last section, table of contents.