<!-- review: finished -->

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

# IMAP

该模块启用 IMAP 邮件协议支持,允许服务器与邮件存储系统交互。它建立与 IMAP 服务器的连接,处理常见命令如列出邮箱和检索消息,并提供安全的身份验证和消息状态管理。

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

## 指令

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

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

### imap_auth

| [语法](https://cn.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_auth` method ...;   |
|--------------------------------------------------------------------------------------|---------------------------|
| 默认值                                                                                  | `imap_auth plain;`        |
| [上下文](https://cn.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` 方法,:samp:AUTH=PLAIN 和 `AUTH=LOGIN` 将不会自动包含在 [imap_capabilities](#m-imap-capabilities) 中。

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

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

### imap_capabilities

| [语法](https://cn.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_capabilities` extension ...;           |
|--------------------------------------------------------------------------------------|----------------------------------------------|
| 默认值                                                                                  | `imap_capabilities IMAP4 IMAP4rev1 UIDPLUS;` |
| [上下文](https://cn.angie.software//angie/docs/configuration/configfile.md#configfile)  | mail, server                                 |

设置在响应 CAPABILITY 命令时传递给客户端的 [IMAP 协议](https://datatracker.ietf.org/doc/html/rfc3501) 扩展列表。根据 [starttls](https://cn.angie.software//angie/docs/configuration/modules/mail/mail_ssl.md#m-starttls) 指令的值,:ref: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="index-2"></a>

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

### imap_client_buffer

| [语法](https://cn.angie.software//angie/docs/configuration/configfile.md#configfile)   | `imap_client_buffer` size;   |
|--------------------------------------------------------------------------------------|------------------------------|
| 默认值                                                                                  | `imap_client_buffer 4k|8k;`  |
| [上下文](https://cn.angie.software//angie/docs/configuration/configfile.md#configfile)  | mail, server                 |

设置用于读取 IMAP 命令的缓冲区大小。默认情况下,缓冲区大小等于一个内存页。这是 4K 或 8K,具体取决于平台。
