# 邮件

## 能做什么

| 场景 | 命令 |
| --- | --- |
| 列出邮箱 | `mail mailbox list` |
| 收件箱近期会话 | `mail +recent-mail`（投影主题/发件人/时间/threadId） |
| 读一封邮件完整正文与附件元数据 | `mail +message` |
| 批量读多封（逐封验证身份） | `mail +messages` |
| 文件夹列表 | `mail +folder-list` |
| 邮件联系人 | `mail +contact-list` / `+find-mail-user` |
| 发送、回复、转发 | ✅ |
| 搜索 | ✅ |
| 附件 | ✅ |

## 实际用法

### 看最近邮件

```
我最近的邮件有哪些？只要标题和发件人。
```

真机实测助手走了三步（用例 e1）：

```bash
dws mail mailbox list --format json                              # 先确定邮箱
dws mail message list --email <邮箱> --limit 10 --format json     # 再列邮件
dws mail message list --email <邮箱> --limit 10 --verbose --format json  # 补详情
```

**注意它只投影了标题/发件人/时间**，没有把正文全部灌进上下文——邮件正文体量大，全量拉进来既慢又挤占上下文。你明确要正文时才会去读。

### 发邮件

```
帮我给某某发封邮件，说下周一的评审推迟到周三
```

助手会：
1. 用 `contact` 解析收件人并**跟你确认是不是这个人**
2. 把**收件人、主题、正文完整列出来**
3. 等你确认后才发送

**对外发邮件是不可逆的**，没有明确确认绝不发送。

## 与其他通道的分界

| 你想要 | 走哪 |
| --- | --- |
| 钉钉会话里的消息 | `chat` |
| 邮件 | `mail` |
| 强提醒（应用内/短信/电话） | `ding` |

一句话发邮件时，助手会**先用 `contact` 解析并确认收件人**再发——邮箱地址写错的代价比多问一句大。
