dnssec_request_domains = *
hosts_try_dane = *
.endif
+.ifdef _HAVE_PRDR
+ hosts_try_prdr = *
+.endif
.endd
This transport is used for delivering messages over SMTP connections.
The list of remote hosts comes from the router.
to try to use DNSSEC for all queries and to use DANE for delivery;
see section &<<SECDANE>>& for more details.
+The &%hosts_try_prdr%& option enables an efficiency SMTP option. It is
+negotiated between client and server and not expected to cause problems
+but can be disabled if needed. The built-in macro _HAVE_PRDR guards the
+use of the &%hosts_try_prdr%& configuration option.
+
The other remote transport is used when delivering to a specific smarthost
with whom there must be some kind of existing relationship, instead of the
usual federated system.
tls_require_ciphers = SECURE192:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1
.endif
.endif
+.ifdef _HAVE_PRDR
+ hosts_try_prdr = *
+.endif
.endd
After the same &%message_size_limit%& hack, we then specify that this Transport
can handle messages to multiple domains in one run. The assumption here is
You want to specify the hostname which you'll expect to validate for, and that
should not be subject to insecure tampering via DNS results.
+For the &%hosts_try_prdr%& option see the previous transport.
+
+All other options are defaulted.
.code
local_delivery:
driver = appendfile
The braces, commas and colons, and the quoting of the member name are required;
the spaces are optional.
Matching of the key against the member names is done case-sensitively.
+If a returned value is a JSON string, it retains its leading and
+trailing quotes.
. XXX should be a UTF-8 compare
The results of matching are handled as above.
Field selection and result handling is as above;
there is no choice of field separator.
+If a returned value is a JSON string, it retains its leading and
+trailing quotes.
.wen
.cindex "filter" "transport filter"
.vindex "&$pipe_addresses$&"
Special handling takes place when an argument consists of precisely the text
-&`$pipe_addresses`&. This is not a general expansion variable; the only
+&`$pipe_addresses`& (no quotes).
+This is not a general expansion variable; the only
place this string is recognized is when it appears as an argument for a pipe or
transport filter command. It causes each address that is being handled to be
inserted in the argument list at that point &'as a separate argument'&. This
you must set the &%spamd_address%& option in the global part of the Exim
configuration as follows (example):
.code
-spamd_address = 192.168.99.45 387
+spamd_address = 192.168.99.45 783
.endd
The SpamAssassin protocol relies on a TCP half-close from the client.
If your SpamAssassin client side is running a Linux system with an
Signers SHOULD use RSA keys of at least 2048 bits.
.endd
-Support for EC keys is being developed under
-&url(https://datatracker.ietf.org/doc/draft-ietf-dcrup-dkim-crypto/).
+.new
+EC keys for DKIM are defined by RFC 8463.
+.wen
They are considerably smaller than RSA keys for equivalent protection.
As they are a recent development, users should consider dual-signing
(by setting a list of selectors, and an expansion for this option)
certtool --load_privkey=dkim_ed25519.private --pubkey_info --outder | tail -c +13 | base64
.endd
-Note that the format
-of Ed25519 keys in DNS has not yet been decided; this release supports
-both of the leading candidates at this time, a future release will
-probably drop support for whichever proposal loses.
+.new
+Exim also supports an alternate format
+of Ed25519 keys in DNS which was a candidate during development
+of the standard, but not adopted.
+A future release will probably drop that support.
+.wen
.option dkim_hash smtp string&!! sha256
Can be set to any one of the supported hash methods, which are: