comparison 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
comparison
equal deleted inserted replaced
1069:71e6daffa4dc 1070:73b31b44d3a0
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9 9
10 <module name="Module ngx_mail_proxy_module" 10 <module name="Module ngx_mail_proxy_module"
11 link="/en/docs/mail/ngx_mail_proxy_module.html" 11 link="/en/docs/mail/ngx_mail_proxy_module.html"
12 lang="en" 12 lang="en"
13 rev="1"> 13 rev="2">
14 14
15 <section id="directives" name="Directives"> 15 <section id="directives" name="Directives">
16 16
17 <!-- 17 <!--
18 <directive name="proxy"> 18 <directive name="proxy">
93 <default>on</default> 93 <default>on</default>
94 <context>mail</context> 94 <context>mail</context>
95 <context>server</context> 95 <context>server</context>
96 96
97 <para> 97 <para>
98 Enables or disables issuing of the <literal>XCLIENT</literal> command 98 Enables or disables the passing of the
99 on connection to the SMTP backend. 99 <link url="http://www.postfix.org/XCLIENT_README.html">XCLIENT</link>
100 The <literal>XCLIENT</literal> command requires 100 command with client parameters when connecting to the SMTP backend.
101 Postfix with the 101 </para>
102 <link url="http://citrin.ru/nginx:xclient-login-patch">patch</link> 102
103 that adds the <literal>LOGIN</literal> parameter. 103 <para>
104 If the <literal>XCLIENT</literal> command is not used, the MTA will be unable 104 With <literal>XCLIENT</literal>, the MTA is able to write client information
105 to write the client’s
106 <literal>IP</literal>/<literal>HELO</literal>/<literal>LOGIN</literal>
107 to the log and apply various limitations based on this data. 105 to the log and apply various limitations based on this data.
108 </para> 106 </para>
109 107
110 <para> 108 <para>
111 If <literal>xclient</literal> is enabled, 109 If <literal>XCLIENT</literal> is enabled
112 then on a connection to the backend nginx first issues 110 then nginx passes the following commands when connecting to the backend:
113 <example> 111 <list type="bullet">
114 EHLO server_name 112 <listitem>
115 </example> 113 <literal>EHLO</literal> with the
116 and then 114 <link doc="ngx_mail_core_module.xml" id="server_name">server name</link>
117 <example> 115 </listitem>
118 XCLIENT PROTO=ESMTP HELO=client_hello ADDR=192.168.1.1 LOGIN=good_user NAME=[UNAVAILABLE] 116
119 </example> 117 <listitem>
120 If the client issues <literal>EHLO</literal> on a connection to nginx, 118 <literal>
121 the <literal>XCLIENT</literal> command will pass 119 XCLIENT
122 <literal>PROTO=ESMTP</literal>. 120 </literal>
123 Otherwise, it will pass <literal>PROTO=SMTP</literal>. 121 </listitem>
124 The IP address of a client is specified in the <literal>ADDR</literal> 122
125 parameter, and since nginx does not use DNS to resolve the hostname, 123 <listitem>
126 the <literal>NAME=[UNAVAILABLE]</literal> is specified. 124 <literal>EHLO</literal> or <literal>HELO</literal>,
125 as passed by the client
126 </listitem>
127 </list>
127 </para> 128 </para>
128 129
129 <para> 130 <para>
130 If <literal>xclient</literal> is disabled, 131 If the name
131 nginx will issue <literal>EHLO</literal> on a connection to the 132 <link doc="ngx_mail_core_module.xml" id="resolver">found</link>
132 backend if the client has passed it, or <literal>HELO</literal>, otherwise. 133 by the client IP address points to the same address,
134 it is passed in the <literal>NAME</literal> parameter
135 of the <literal>XCLIENT</literal> command.
136 If the name could not be found, points to a different address,
137 or <link doc="ngx_mail_core_module.xml" id="resolver"/> is not specified,
138 the <literal>[UNAVAILABLE]</literal> is passed
139 in the <literal>NAME</literal> parameter.
140 If an error has occurred in the process of resolving,
141 the <literal>[TEMPUNAVAIL]</literal> value is used.
142 </para>
143
144 <para>
145 If <literal>XCLIENT</literal> is disabled
146 then nginx passes the <literal>EHLO</literal> command with the
147 <link doc="ngx_mail_core_module.xml" id="server_name">server name</link>
148 when connecting to the backend if the client has passed
149 <literal>EHLO</literal>,
150 or <literal>HELO</literal> with the server name, otherwise.
133 </para> 151 </para>
134 152
135 </directive> 153 </directive>
136 154
137 </section> 155 </section>