X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d36254f24a6127853696b6d40ace37f07e6660f9..93644263a0d505f17fabc0b226368a7a6d2b05e0:/doc/doc-txt/experimental-spec.txt diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt index c93123c39..18a5fd917 100644 --- a/doc/doc-txt/experimental-spec.txt +++ b/doc/doc-txt/experimental-spec.txt @@ -798,6 +798,8 @@ expansion is done. The current list of events is: msg:complete after main per message msg:delivery after transport per recipient + msg:rcpt:host:defer after transport per recipient per host + msg:rcpt:defer after transport per recipient msg:host:defer after transport per attempt msg:fail:delivery after main per recipient msg:fail:internal after main per recipient @@ -811,16 +813,20 @@ variable to decide when to act. The value of the variable is a colon-separated list, defining a position in the tree of possible events; it may be used as a list or just matched on as a whole. There will be no whitespace. +New event types may be added in the future. + There is an auxilary variable, $event_data, for which the content is event_dependent: msg:delivery smtp confirmation mssage + msg:rcpt:host:defer error string + msg:rcpt:defer error string msg:host:defer error string tls:cert verification chain depth smtp:connect smtp banner -The msg:host:defer event populates one extra variable, $event_defer_errno. +The :defer events populate one extra variable, $event_defer_errno. The following variables are likely to be useful depending on the event type: @@ -848,7 +854,16 @@ event_action = ${if eq {msg:delivery}{$event_name} \ The string is expanded when each of the supported events occur and any side-effects of the expansion will happen. -Note that for complex operations an ACL expansion can be used. + +Note that for complex operations an ACL expansion can be used, +however due to the multiple contexts the Exim operates in +a) variables set in events raised from transports will not + be visible outside that transport call. +b) acl_m variables in a server context are lost on a new connection, + and after helo/ehlo/mail/starttls/rset commands +Using an ACL expansion with the logwrite modifier can be a +useful way of writing to the main log. + The expansion of the event_action option should normally @@ -1122,10 +1137,15 @@ These options are currently defined: - "pass" sets the authentication password. Default is empty. - "port" sets the tcp port number for the proxy. Default is 1080. - "tmo" sets a connection timeout in seconds for this proxy. Default is 5. - -Proxies from the list are tried in order until -one responds. The timeout for the overall connection -applies to the set of proxied attempts. +- "pri" specifies a priority for the server within the list, higher + values being tried first. The default priority is 1. +- "weight" specifies a selection bias. Within a priority set servers + are queried in a random fashion, weighted by this value. The default + value for selection bias is 1. + +Proxies from the list are tried according to their priority +and weight settings until one responds. The timeout for the +overall connection applies to the set of proxied attempts. If events are used, the remote IP/port during a tcp:connect event will be that of the proxy.