Expand recipients_max
[exim.git] / doc / doc-docbook / spec.xfpt
index 79bdb24e501d6c87071264438d4bdd38433f84c6..316860aae0df50a6a119e651111f055185a5093f 100644 (file)
@@ -14972,6 +14972,7 @@ See also the &'Policy controls'& section above.
 .row &%dsn_advertise_hosts%&         "advertise DSN extensions to these hosts"
 .row &%ignore_fromline_hosts%&       "allow &""From ""& from these hosts"
 .row &%ignore_fromline_local%&       "allow &""From ""& from local SMTP"
 .row &%dsn_advertise_hosts%&         "advertise DSN extensions to these hosts"
 .row &%ignore_fromline_hosts%&       "allow &""From ""& from these hosts"
 .row &%ignore_fromline_local%&       "allow &""From ""& from local SMTP"
+.row &%limits_advertise_hosts%&      "advertise LIMITS to these hosts"
 .row &%pipelining_advertise_hosts%&  "advertise pipelining to these hosts"
 .row &%pipelining_connect_advertise_hosts%& "advertise pipelining to these hosts"
 .row &%prdr_enable%&                 "advertise PRDR to all hosts"
 .row &%pipelining_advertise_hosts%&  "advertise pipelining to these hosts"
 .row &%pipelining_connect_advertise_hosts%& "advertise pipelining to these hosts"
 .row &%prdr_enable%&                 "advertise PRDR to all hosts"
@@ -16556,6 +16557,18 @@ has been built with LDAP support.
 
 
 
 
 
 
+.new
+.option limits_advertise_hosts main "host list&!!" *
+.cindex LIMITS "suppressing advertising"
+.cindex "ESMTP extensions" LIMITS
+This option can be used to suppress the advertisement of the SMTP
+LIMITS extension (RFC 9422) to specific hosts.
+If permitted, Exim as a servier will advertise in the EHLO response
+the limit for RCPT commands set by the &%recipients_max%& option (if it is set)
+and the limit for MAIL commands set by the &%smtp_accept_max_per_connection%&
+option.
+,wen
+
 .option local_from_check main boolean true
 .cindex "&'Sender:'& header line" "disabling addition of"
 .cindex "&'From:'& header line" "disabling checking of"
 .option local_from_check main boolean true
 .cindex "&'Sender:'& header line" "disabling addition of"
 .cindex "&'From:'& header line" "disabling checking of"
@@ -17459,16 +17472,26 @@ or if the message was submitted locally (not using TCP/IP), and the &%-bnq%&
 option was not set.
 
 
 option was not set.
 
 
-.option recipients_max main integer 50000
+.option recipients_max main integer&!! 50000
 .cindex "limit" "number of recipients"
 .cindex "recipient" "maximum number"
 .cindex "limit" "number of recipients"
 .cindex "recipient" "maximum number"
-If this option is set greater than zero, it specifies the maximum number of
+If the value resulting from expanding this option
+is set greater than zero, it specifies the maximum number of
 original recipients for any message. Additional recipients that are generated
 by aliasing or forwarding do not count. SMTP messages get a 452 response for
 all recipients over the limit; earlier recipients are delivered as normal.
 Non-SMTP messages with too many recipients are failed, and no deliveries are
 done.
 
 original recipients for any message. Additional recipients that are generated
 by aliasing or forwarding do not count. SMTP messages get a 452 response for
 all recipients over the limit; earlier recipients are delivered as normal.
 Non-SMTP messages with too many recipients are failed, and no deliveries are
 done.
 
+.new
+For SMTP message the expansion is done after the connection is
+accepted (but before any SMTP conversation) and may depend on
+the IP addresses and port numbers of the connection.
+&*Note*&: If an expansion is used for the option,
+care should be taken that a resonable value results for
+non-SMTP messages.
+.wen
+
 .cindex "RCPT" "maximum number of incoming"
 &*Note*&: The RFCs specify that an SMTP server should accept at least 100
 RCPT commands in a single message.
 .cindex "RCPT" "maximum number of incoming"
 &*Note*&: The RFCs specify that an SMTP server should accept at least 100
 RCPT commands in a single message.
@@ -25356,6 +25379,13 @@ over a single TCP/IP connection. If the value is zero, there is no limit.
 For testing purposes, this value can be overridden by the &%-oB%& command line
 option.
 
 For testing purposes, this value can be overridden by the &%-oB%& command line
 option.
 
+.new
+.cindex "ESMTP extensions" LIMITS
+If the peer advertises a LIMITS extension with a MAILMAX value,
+and either TLSS is in use or was not advertised,
+that value also constrains the result of this option.
+.wen
+
 
 .option dane_require_tls_ciphers smtp string&!! unset
 .cindex "TLS" "requiring specific ciphers for DANE"
 
 .option dane_require_tls_ciphers smtp string&!! unset
 .cindex "TLS" "requiring specific ciphers for DANE"
@@ -25932,6 +25962,14 @@ each set of addresses is treated independently, and
 so can cause parallel connections to the same host if &%remote_max_parallel%&
 permits this.
 
 so can cause parallel connections to the same host if &%remote_max_parallel%&
 permits this.
 
+.new
+.cindex "ESMTP extensions" LIMITS
+If the peer advertises a LIMITS extension with a RCPTMAX value,
+and either TLSS is in use or was not advertised,
+that value also constrains the result of this option
+and no parallel connections will be caused on meeting the RCPTMAX limit.
+.wen
+
 
 .option message_linelength_limit smtp integer 998
 .cindex "line length" limit
 
 .option message_linelength_limit smtp integer 998
 .cindex "line length" limit
@@ -25963,6 +26001,14 @@ If the connection is DANE-enabled then this option is ignored;
 only messages having the domain used for the DANE TLSA lookup are
 sent on the connection.
 
 only messages having the domain used for the DANE TLSA lookup are
 sent on the connection.
 
+.new
+.cindex "ESMTP extensions" LIMITS
+If the peer advertises a LIMITS extension with a RCPTDOMAINMAX value,
+and either TLSS is in use or was not advertised,
+this option is regarded as being false.
+.wen
+
+
 .option port smtp string&!! "see below"
 .cindex "port" "sending TCP/IP"
 .cindex "TCP/IP" "setting outgoing port"
 .option port smtp string&!! "see below"
 .cindex "port" "sending TCP/IP"
 .cindex "TCP/IP" "setting outgoing port"