<!-- review: finished -->

<a id="mail-proxy"></a>

# Proxy

Модуль обеспечивает поддержку почтовых протоколов (POP3, IMAP, SMTP), позволяя
серверу работать в качестве прокси между клиентами и почтовыми серверами. Он
устанавливает соединения с серверами, выполняет безопасную аутентификацию с
использованием открытого текста, SSL/TLS или STARTTLS, правильно маршрутизирует
трафик клиентов и поддерживает гибкий выбор методов аутентификации и серверов.

<a id="directives-60"></a>

## Директивы

<a id="index-0"></a>

<a id="m-proxy-buffer"></a>

### proxy_buffer

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_buffer` размер;   |
|------------------------------------------------------------------------------------------|--------------------------|
| По умолчанию                                                                             | `proxy_buffer 4k|8k;`    |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server             |

Задает размер буфера, используемого при проксировании. По умолчанию размер одного буфера равен размеру страницы. В зависимости от платформы это или 4K, или 8K.

<a id="index-1"></a>

<a id="m-proxy-pass-error-message"></a>

### proxy_pass_error_message

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_pass_error_message` `on` | `off`;   |
|------------------------------------------------------------------------------------------|--------------------------------------------|
| По умолчанию                                                                             | `proxy_pass_error_message off;`            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server                               |

Определяет, передавать ли клиенту сообщение об ошибке, полученное при аутентификации на бэкенде.

Обычно, если аутентификация в Angie прошла успешно, бэкенд не может вернуть ошибку. Если же он все-таки возвращает ошибку, это значит, что произошла ошибка внутри системы. В таких случаях сообщение бэкенда может содержать информацию, которую нельзя показывать клиенту. Однако для некоторых POP3-серверов ошибка в ответ на правильный пароль является штатным поведением. В этом случае директиву стоит включить.

<a id="index-2"></a>

<a id="m-proxy-protocol"></a>

### proxy_protocol

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_protocol` `on` | `off`;   |
|------------------------------------------------------------------------------------------|----------------------------------|
| По умолчанию                                                                             | `proxy_protocol off;`            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server                     |

Включает [протокол PROXY](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) для соединений с бэкендом.

<a id="index-3"></a>

<a id="m-proxy-smtp-auth"></a>

### proxy_smtp_auth

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_smtp_auth` `on` | `off`;   |
|------------------------------------------------------------------------------------------|-----------------------------------|
| По умолчанию                                                                             | `proxy_smtp_auth off;`            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server                      |

Разрешает или запрещает аутентификацию пользователей на SMTP-бэкенде при помощи команды `AUTH`.

Если также включен [XCLIENT](#m-xclient), то команда `XCLIENT` не будет отправлять параметр `LOGIN`.

<a id="index-4"></a>

<a id="m-proxy-timeout"></a>

### proxy_timeout

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_timeout` время;   |
|------------------------------------------------------------------------------------------|--------------------------|
| По умолчанию                                                                             | `proxy_timeout 24h;`     |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server             |

Задает таймаут между двумя идущими подряд операциями чтения или записи на клиентском соединении или соединении с проксируемым сервером. Если по истечении этого времени данные не передавались, соединение закрывается.

<a id="index-5"></a>

<a id="m-xclient"></a>

### xclient

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `xclient` `on` | `off`;   |
|------------------------------------------------------------------------------------------|---------------------------|
| По умолчанию                                                                             | `xclient on;`             |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | mail, server              |

Разрешает или запрещает передачу команды [XCLIENT](http://www.postfix.org/XCLIENT_README.html) с параметрами клиента при подключении к SMTP-бэкенду.

При помощи `XCLIENT` MTA может писать в лог информацию о клиенте и применять различные ограничения на основе этих данных.

Если команда `XCLIENT` разрешена, то при подключении к бэкенду Angie посылает ему следующие команды:

* `EHLO` с [именем сервера](https://angie.software//angie/docs/configuration/modules/mail/index.md#m-server-name)
* `XCLIENT`
* `EHLO` или `HELO`, как ее передал клиент

Если [найденное](https://angie.software//angie/docs/configuration/modules/mail/index.md#m-resolver) по IP-адресу клиента имя указывает на тот же
адрес, оно передается в параметре `NAME` команды `XCLIENT`. Если имя
не может быть найдено, указывает на другой адрес, или не задан [resolver](https://angie.software//angie/docs/configuration/modules/mail/index.md#m-resolver), то в параметре `NAME` передается `[UNAVAILABLE]`.
Если же в процессе поиска имени или адреса произошла ошибка, передается
`[TEMPUNAVAIL]`.

Если команда `XCLIENT` запрещена, то при подключении к бэкенду Angie
передает команду `EHLO` с [именем сервера](https://angie.software//angie/docs/configuration/modules/mail/index.md#m-server-name), если
клиент передал `EHLO`, иначе `HELO` с именем сервера.
