Mercurial > hg > nginx-site
diff xml/en/docs/mail/ngx_mail_proxy_module.xml @ 1070:73b31b44d3a0
Updated and simplified the "xclient" directive description.
Implementation details are hidden behind the reference XCLIENT documentation.
Adaptation to mail resolver.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Sat, 08 Feb 2014 17:42:42 +0400 |
parents | b81ad8234f90 |
children | 7b15698cbdb7 |
line wrap: on
line diff
--- a/xml/en/docs/mail/ngx_mail_proxy_module.xml +++ b/xml/en/docs/mail/ngx_mail_proxy_module.xml @@ -10,7 +10,7 @@ <module name="Module ngx_mail_proxy_module" link="/en/docs/mail/ngx_mail_proxy_module.html" lang="en" - rev="1"> + rev="2"> <section id="directives" name="Directives"> @@ -95,41 +95,59 @@ Defines a timeout used after the proxyin <context>server</context> <para> -Enables or disables issuing of the <literal>XCLIENT</literal> command -on connection to the SMTP backend. -The <literal>XCLIENT</literal> command requires -Postfix with the -<link url="http://citrin.ru/nginx:xclient-login-patch">patch</link> -that adds the <literal>LOGIN</literal> parameter. -If the <literal>XCLIENT</literal> command is not used, the MTA will be unable -to write the client’s -<literal>IP</literal>/<literal>HELO</literal>/<literal>LOGIN</literal> +Enables or disables the passing of the +<link url="http://www.postfix.org/XCLIENT_README.html">XCLIENT</link> +command with client parameters when connecting to the SMTP backend. +</para> + +<para> +With <literal>XCLIENT</literal>, the MTA is able to write client information to the log and apply various limitations based on this data. </para> <para> -If <literal>xclient</literal> is enabled, -then on a connection to the backend nginx first issues -<example> -EHLO server_name -</example> -and then -<example> -XCLIENT PROTO=ESMTP HELO=client_hello ADDR=192.168.1.1 LOGIN=good_user NAME=[UNAVAILABLE] -</example> -If the client issues <literal>EHLO</literal> on a connection to nginx, -the <literal>XCLIENT</literal> command will pass -<literal>PROTO=ESMTP</literal>. -Otherwise, it will pass <literal>PROTO=SMTP</literal>. -The IP address of a client is specified in the <literal>ADDR</literal> -parameter, and since nginx does not use DNS to resolve the hostname, -the <literal>NAME=[UNAVAILABLE]</literal> is specified. +If <literal>XCLIENT</literal> is enabled +then nginx passes the following commands when connecting to the backend: +<list type="bullet"> +<listitem> +<literal>EHLO</literal> with the +<link doc="ngx_mail_core_module.xml" id="server_name">server name</link> +</listitem> + +<listitem> +<literal> +XCLIENT +</literal> +</listitem> + +<listitem> +<literal>EHLO</literal> or <literal>HELO</literal>, +as passed by the client +</listitem> +</list> </para> <para> -If <literal>xclient</literal> is disabled, -nginx will issue <literal>EHLO</literal> on a connection to the -backend if the client has passed it, or <literal>HELO</literal>, otherwise. +If the name +<link doc="ngx_mail_core_module.xml" id="resolver">found</link> +by the client IP address points to the same address, +it is passed in the <literal>NAME</literal> parameter +of the <literal>XCLIENT</literal> command. +If the name could not be found, points to a different address, +or <link doc="ngx_mail_core_module.xml" id="resolver"/> is not specified, +the <literal>[UNAVAILABLE]</literal> is passed +in the <literal>NAME</literal> parameter. +If an error has occurred in the process of resolving, +the <literal>[TEMPUNAVAIL]</literal> value is used. +</para> + +<para> +If <literal>XCLIENT</literal> is disabled +then nginx passes the <literal>EHLO</literal> command with the +<link doc="ngx_mail_core_module.xml" id="server_name">server name</link> +when connecting to the backend if the client has passed +<literal>EHLO</literal>, +or <literal>HELO</literal> with the server name, otherwise. </para> </directive>