--- description: "dsh-mail-reader:一个 email_read 工具读取 Gmail 与 Outlook,完全不实现发送、回复、删除、移动、标记或归档。" --- # dsh-mail-reader [English](README.md) | 中文 DSH 的只读邮件插件。模型可以列出、搜索并读取你指定的账号——这就是它的全部能力:不存在发送、回复、删除、移动、标记或归档工具,因为这些都没有实现;提供方接口也不含任何能执行这类操作的方法。 ``` email_read({ account: 'personal-gmail', unreadOnly: true, limit: 5 }) → 五封未读邮件,正文标记为不可信内容 email_read({ messageId: '18f2…' }) → 该封邮件,正文转为纯文本,附件只给名称与大小 email_send / email_reply / email_delete / email_move / email_mark → 不存在 ``` ## 它不会做的事 插件刻意保持很小,因此这些保证可以一次读完: - **只访问官方端点。** 没有任何配置字段能移动请求。Gmail 账号只到达 `accounts.google.com`、`oauth2.googleapis.com` 与 `gmail.googleapis.com`;Outlook 账号只到达 `login.microsoftonline.com` 与 `graph.microsoft.com`。每个出站 URL 都经过同一份白名单校验,因此令牌、client secret 或 `Authorization` 头不可能被发到别处。尝试配置 `apiBaseUrl`、`graphBaseUrl`、`authorizationEndpoint` 或 `tokenEndpoint` 会在加载期作为未知字段被拒绝。 - **任何地方都没有写能力。** 没有发送、回复、删除、移动、标记已读/未读、加星、归档或改标签。`MailProvider` 只声明 `list` 与 `read`,任何提供方模块都不含变更类端点,也不含 `GET` 以外的 HTTP 方法。本插件唯一可能发出的 `POST` 是 OAuth 令牌请求。 - **不取附件内容。** 只有文件名、内容类型与大小。不下载、不保存、不解析。 - **不加载远程内容。** 仅有 HTML 的正文会被转为文本,并丢弃 `