<!-- review: finished -->

<a id="adc-mail-imap"></a>

# IMAP

Модуль обеспечивает поддержку почтового протокола IMAP, позволяя серверу
взаимодействовать с системами хранения почты. Он устанавливает соединения с
серверами IMAP, обрабатывает основные команды, такие как список папок и
получение сообщений, а также обеспечивает безопасную аутентификацию и управление
статусами сообщений.

<a id="adc-directives-58"></a>

## Директивы

<a id="adc-m-imap-auth"></a>

### imap_auth

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

Задает разрешенные методы аутентификации IMAP-клиентов. Поддерживаемые методы:

| `plain`       | [LOGIN](https://datatracker.ietf.org/doc/html/rfc3501), [AUTH=PLAIN](https://datatracker.ietf.org/doc/html/rfc4616)                     |
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `login`       | [AUTH=LOGIN](https://datatracker.ietf.org/doc/html/draft-murchison-sasl-login-00)                                                       |
| `cram-md5`    | [AUTH=CRAM-MD5](https://datatracker.ietf.org/doc/html/rfc2195). Для работы этого метода пароль должен храниться в незашифрованном виде. |
| `external`    | [AUTH=EXTERNAL](https://datatracker.ietf.org/doc/html/rfc4422)                                                                          |
| `xoauth2`     | [AUTH=XOAUTH2](https://developers.google.com/gmail/imap/xoauth2-protocol)                                                               |
| `oauthbearer` | [AUTH=OAUTHBEARER](https://datatracker.ietf.org/doc/html/rfc7628)                                                                       |

Методы аутентификации с передачей пароля открытым текстом (команда LOGIN, AUTH=PLAIN и AUTH=LOGIN) включены всегда, однако если методы `plain` и `login` не указаны, то AUTH=PLAIN и AUTH=LOGIN не будут автоматически добавляться в [imap_capabilities](https://angie.software//angie/docs/configuration/modules/mail/mail_imap.md#m-imap-capabilities).

<a id="adc-m-imap-capabilities"></a>

### imap_capabilities

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

Позволяет указать список расширений [протокола IMAP](https://datatracker.ietf.org/doc/html/rfc3501), выдаваемый клиенту по команде CAPABILITY. В зависимости от значения директивы [starttls](https://angie.software//angie/docs/configuration/modules/mail/mail_ssl.md#m-starttls) к этому списку автоматически добавляются методы аутентификации, указанные в директиве [imap_auth](https://angie.software//angie/docs/configuration/modules/mail/mail_imap.md#m-imap-auth), и [STARTTLS](https://datatracker.ietf.org/doc/html/rfc2595).

В данной директиве имеет смысл указать расширения, поддерживаемые IMAP-серверами, на которые проксируются клиенты (если эти расширения относятся к командам, используемым после аутентификации, когда Angie прозрачно проксирует подключение клиента на бэкенд).

<!-- Текущий список стандартизованных расширений опубликован на `www.iana.org <http://www.iana.org/assignments/imap4-capabilities>`_. -->

<a id="adc-m-imap-client-buffer"></a>

### imap_client_buffer

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

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