If the &%domains%& option is set, the domain of the address must be in the set
of domains that it defines.
.cindex "tainted data" "de-tainting"
-.cindex "de-tainting" "using router domains option"
+.cindex de-tainting "using router domains option"
+.cindex de-tainting &$domains$&
A match verifies the variable &$domain$& (which carries tainted data)
and assigns an untainted value to the &$domain_data$& variable.
Such an untainted value is often needed in the transport.
If the &%local_parts%& option is set, the local part of the address must be in
the set of local parts that it defines.
A match verifies the variable &$local_part$& (which carries tainted data)
+.cindex de-tainting &$local_parts$&
and assigns an untainted value to the &$local_part_data$& variable.
Such an untainted value is often needed in the transport.
For specifics of the matching operation and the resulting untainted value,
data = ${lookup mysql{ALIAS_QUERY}}
.endd
In earlier versions of Exim macros were sometimes used for domain, host, or
-address lists. In Exim 4 these are handled better by named lists &-- see
+address lists. In Exim version 4 these are handled better by named lists &-- see
section &<<SECTnamedlists>>&.
To change Exim's behaviour, the special items &`+include_unknown`& or
&`+ignore_unknown`& may appear in the list (at top level &-- they are
not recognized in an indirected file).
+The effects of these special items do not propagate into referenced
+named lists.
.ilist
If any item that follows &`+include_unknown`& requires information that
lower case. However, although independent matches on the domain alone are still
performed caselessly, regular expressions that match against an entire address
become case-sensitive after &"+caseful"& has been seen.
+The effects of &"+caseful"& propagate into any referenced named lists.
.new
This string may not be tainted.
.options dmarc_forensic_sender main string&!! unset &&&
- dmarc_history_file main string unset &&&
- dmarc_tld_file main string unset
+ dmarc_history_file&!! main string unset &&&
+ dmarc_tld_file main&!! string unset
.cindex DMARC "main section options"
These options control DMARC processing.
See section &<<SECDMARC>>& for details.
.option domains routers&!? "domain list&!!" unset
.cindex "router" "restricting to specific domains"
.vindex "&$domain_data$&"
-If this option is set, the router is skipped unless the current domain matches
-the list.
+If this option is set,
+the argument is first expanded to give a list.
+The router is skipped unless the current domain matches the list.
The data returned by the list check
is placed in &$domain_data$& for use in string
expansions of the driver's private options and in the transport.
+If the result of expansion is empty or a forced-fail,
+the router is skipped.
+
See section &<<SECTrouprecon>>& for
a list of the order in which preconditions are evaluated.
.option local_parts routers&!? "local part list&!!" unset
.cindex "router" "restricting to specific local parts"
.cindex "local part" "checking in router"
+If this option is set, the argument is first expanded to give a list.
The router is run only if the local part of the address matches the list.
+If the result of expansion is empty or a forced-fail,
+the router is skipped.
+
See section &<<SECTrouprecon>>& for a list of the order in which preconditions
are evaluated, and
section &<<SECTlocparlis>>& for a discussion of local part lists. Because the
local_parts = dbm;/usr/local/specials/$domain_data
.endd
.vindex "&$local_part_data$&"
-the data returned by the list check
+The data returned by the list check
for the local part is placed in the variable &$local_part_data$& for use in
expansions of the router's private options or in the transport.
You might use this option, for
.subsection "ODMR customer connection" SECTODMRCUST
.cindex ODMR customer
Exim supports the &"customer"& side of ODMR,
-with a command-line option &"-atrn"&& that requests a connection
+with a command-line option &"-atrn"& that requests a connection
to a given host, issuance of an ATRN command then operation
in SMTP server mode.
The option must be followed by two arguments.
Interpretation of the list is up to the provider;
an empty list is expected to result in some default being returned.
-The provider host is placed in &$domain$" for routing;
+The provider host is placed in &$domain$& for routing;
router and transport must be configured suitably to make the connection.
For example:
.code
from a link at &url(https://publicsuffix.org/list/public_suffix_list.dat).
See also the util/renew-opendmarc-tlds.sh script.
The default for the option is unset.
-If not set, DMARC processing is disabled.
+.new
+It is expanded before use.
+If not set (or empty after expansion), DMARC processing is disabled.
+.wen
-The &%dmarc_history_file%& option, if set
+The &%dmarc_history_file%& option
.oindex &%dmarc_history_file%&
defines the location of a file to log results
of dmarc verification on inbound emails. The
reports, and expire the data. Make sure the
directory of this file is writable by the user
exim runs as.
-The default is unset.
+The default for the option is unset.
+.new
+It is expanded before use.
+If not set (or empty after expansion), no history is written.
+.wen
The &%dmarc_forensic_sender%& option
.oindex &%dmarc_forensic_sender%&