.endd
sorts a list of numbers, and
.code
-${sort {$lookup dnsdb{>:,,mx=example.com}} {<} {${listextract{1}{<,$item}}}}
+${sort {${lookup dnsdb{>:,,mx=example.com}}} {<} {${listextract{1}{<,$item}}}}
.endd
will sort an MX lookup into priority order.
See &%smtp_ratelimit_hosts%& above.
-.option smtp_receive_timeout main time 5m
+.option smtp_receive_timeout main time&!! 5m
.cindex "timeout" "for SMTP input"
.cindex "SMTP" "input timeout"
This sets a timeout value for SMTP reception. It applies to all forms of SMTP
The former means that Exim was expecting to read an SMTP command; the latter
means that it was in the DATA phase, reading the contents of a message.
+If the first character of the option is a &"$"& the option is
+expanded before use and may depend on
+&$sender_host_name$&, &$sender_host_address$& and &$sender_host_port$&.
+
.oindex "&%-os%&"
The value set by this option can be overridden by the
.cindex "cutthrough" "requesting"
This option requests delivery be attempted while the item is being received.
-The option usable in the RCPT ACL.
+The option is usable in the RCPT ACL.
If enabled for a message recieved via smtp and routed to an smtp transport,
-and the message has only one recipient,
+and only one transport, interface, destination host and port combination
+is used for all recipients of the message,
then the delivery connection is made while the receiving connection is open
and data is copied from one to the other.
+An attempt to set this option for any recipient but the first
+for a mail will be quietly ignored.
If a recipient-verify callout connection is subsequently
-requested in the same ACL it is held open and used for the data,
+requested in the same ACL it is held open and used for
+any subsequent receipients and the data,
otherwise one is made after the initial RCPT ACL completes.
Note that routers are used in verify mode,
Cutthrough delivery is not supported via transport-filters or when DKIM signing
of outgoing messages is done, because it sends data to the ultimate destination
before the entire message has been received from the source.
+It is not supported for messages recieved with the SMTP PRDR option in use.
Should the ultimate destination system positively accept or reject the mail,
a corresponding indication is given to the source system and nothing is queued.
If there is a temporary error the item is queued for later delivery in the
usual fashion. If the item is successfully delivered in cutthrough mode
-the log line is tagged with ">>" rather than "=>" and appears
+the delivery log lines are tagged with ">>" rather than "=>" and appear
before the acceptance "<=" line.
Delivery in this mode avoids the generation of a bounce mail to a
address, and in that case, the subsequent value of &$address_data$& is the
value for the child address.
-.vitem &*verify&~=&~reverse_host_lookup*&
+.vitem &*verify&~=&~reverse_host_lookup/*&<&'options'&>
.cindex "&%verify%& ACL condition"
.cindex "&ACL;" "verifying host reverse lookup"
.cindex "host" "verifying reverse lookup"
one of its aliases, does, when it is itself looked up in the DNS, yield the
original IP address.
+There is one possible option, &`defer_ok`&. If this is present and a
+DNS operation returns a temporary error, the verify condition succeeds.
+
If this condition is used for a locally generated message (that is, when there
is no client host involved), it always succeeds.
&`*etrn `& ETRN commands
&`*host_lookup_failed `& as it says
&` ident_timeout `& timeout for ident connection
-&` incoming_interface `& incoming interface on <= lines
-&` incoming_port `& incoming port on <= lines
+&` incoming_interface `& local interface on <= and => lines
+&` incoming_port `& remote port on <= lines
&`*lost_incoming_connection `& as it says (includes timeouts)
&` outgoing_port `& add remote port to => lines
&`*queue_run `& start and end queue runs
client's ident port times out.
.next
.cindex "log" "incoming interface"
+.cindex "log" "local interface"
+.cindex "log" "local address and port"
+.cindex "TCP/IP" "logging local address and port"
.cindex "interface" "logging"
&%incoming_interface%&: The interface on which a message was received is added
to the &"<="& line as an IP address in square brackets, tagged by I= and
followed by a colon and the port number. The local interface and port are also
-added to other SMTP log lines, for example &"SMTP connection from"&, and to
-rejection lines.
+added to other SMTP log lines, for example &"SMTP connection from"& and to
+rejection lines
+and (despite the name) the local interface is added to &"=>"& lines..
.next
.cindex "log" "incoming remote port"
.cindex "port" "logging remote"