<!-- review: finished -->

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

# IMAP

O módulo habilita o suporte ao protocolo de email IMAP, permitindo que o servidor interaja
com sistemas de armazenamento de email. Ele estabelece conexões com servidores IMAP, processa
comandos comuns como listar caixas de correio e recuperar mensagens, e fornece
autenticação segura e gerenciamento de status de mensagens.

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

## Diretivas

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

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

### imap_auth

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_auth` method ...;   |
|-------------------------------------------------------------------------------------------|---------------------------|
| Padrão                                                                                    | `imap_auth plain;`        |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | mail, server              |

Define os métodos permitidos de autenticação para clientes IMAP. Os métodos suportados são:

| `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). Para que este método funcione, a senha deve ser armazenada sem criptografia. |
| `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)                                                                            |

Os métodos de autenticação em texto simples (o comando `LOGIN`,
`AUTH=PLAIN`, e `AUTH=LOGIN`) estão sempre habilitados, embora se os
métodos `plain` e `login` não forem especificados, `AUTH=PLAIN` e
`AUTH=LOGIN` não serão automaticamente incluídos em
[imap_capabilities](#m-imap-capabilities).

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

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

### imap_capabilities

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_capabilities` extension ...;           |
|-------------------------------------------------------------------------------------------|----------------------------------------------|
| Padrão                                                                                    | `imap_capabilities IMAP4 IMAP4rev1 UIDPLUS;` |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | mail, server                                 |

Define a lista de extensões do [protocolo IMAP](https://datatracker.ietf.org/doc/html/rfc3501) que é passada para o cliente em resposta ao comando CAPABILITY. Os métodos de autenticação especificados na diretiva [imap_auth](#m-imap-auth) e [STARTTLS](https://datatracker.ietf.org/doc/html/rfc2595) são automaticamente adicionados a esta lista dependendo do valor da diretiva [starttls](https://pt.angie.software//angie/docs/configuration/modules/mail/mail_ssl.md#m-starttls).

Faz sentido especificar as extensões suportadas pelos backends IMAP para os quais os clientes são proxificados (se essas extensões estão relacionadas a comandos usados após a autenticação, quando o Angie proxifica transparentemente uma conexão de cliente para o backend).

<!-- A lista atual de extensões padronizadas é publicada em `www.iana.org <http://www.iana.org/assignments/imap4-capabilities>`_. -->

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

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

### imap_client_buffer

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_client_buffer` size;   |
|-------------------------------------------------------------------------------------------|------------------------------|
| Padrão                                                                                    | `imap_client_buffer 4k|8k;`  |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | mail, server                 |

Define o tamanho do buffer usado para ler comandos IMAP. Por padrão, o tamanho do buffer é igual a uma página de memória. Isso é 4K ou 8K, dependendo da plataforma.
