Go to the first, previous, next, last section, table of contents.
The following additional generic options apply to all routers, in addition to
the common generic options for both directors and routers which are described
in chapter "Common generic options for directors and routers". Routers are concerned with addresses whose
domains do not match something in `local_domains'.
Option: pass_on_timeout
Type: boolean
Default: false
If a router times out during a host lookup, it normally causes deferral of the
address. If `pass_on_timeout' is set, the address is instead passed on to the
next router. This may be helpful for systems that are intermittently connected
to the Internet,
or those that want to pass to a smart host any messages that cannot immediately
be delivered.
There are occasional other temporary errors that can occur while doing DNS
lookups. They are treated in the same way as a timeout, and this option
applies to all of them.
Option: self
Type: string
Default: "freeze"
This option specifies what is to happen if routing a remote address ends up
pointing at the local host,
or at a host whose name matches `hosts_treat_as_local'. Normally this
indicates either an error in Exim's configuration (for example, the domain
should be listed as local), or an error in the DNS (for example, the MX
shouldn't point at this host).
However, this situation is not confined to the use of MX records, and the
`self' option can be used on any router.
The default action is to freeze the message. The following alternatives are
provided for use in special cases:
-
`defer'
Delivery of the message is tried again later.
-
`reroute: <domain>'
The domain is changed to the given domain, and the address is passed back to
be reprocessed by the directors and routers. No rewriting of headers takes
place.
-
`reroute: rewrite: <domain>'
The domain is changed to the given domain, and the address is passed back to be
reprocessed by the directors and routers. Any headers that contain the original
domain are rewritten.
-
`local'
The address is passed to the directors, as if its domain were a local domain,
even though it does not match anything in `local_domains'. This can be used to
treat all domains whose lowest MX records point to the host as local domains.
During subsequent directing and delivery the variable `$self_hostname' is set
to the name of the local host that the router encountered. This can be used to
distinguish between different cases for hosts with multiple names.
-
`fail_soft'
The router fails, passing the address to the following router. During
subsequent routing and delivery, the variable `$self_hostname' contains the
name of the local host that the router encountered. This can be used to
distinguish between different cases for hosts with multiple names.
This setting overrides a setting of `no_more' on the router, so a combination
of `fail_soft' and `no_more' ensures that only those addresses that routed to
the local host are passed on. Without `no_more', failing addresses would also
be passed to the next router.
-
`fail_hard'
The router fails, and the address is not passed to any following
routers. Consequently, delivery fails and an error report is generated.
-
`send'
The anomaly is ignored and the message is transmitted anyway. This setting
should be used with extreme caution. It makes sense only in cases where
the program that is listening on the SMTP port is not this version of Exim.
That is, it must be some other MTA, or Exim with a different configuration file
that handles the domain in another way.
When a router just rewrites, that is, does not set up IP addresses, the `self'
option is not relevant.
Go to the first, previous, next, last section, table of contents.