Mercurial > hg > nginx-site
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> |