通过 API 关闭邮箱的 Drive 访问
使用一次 REST 调用或 MCP 工具,将单个邮箱、整个域名或账户中全部邮箱的 Drive 设为完整、仅附件或关闭。
文章详情
类型、难度、套餐及最近更新信息。
▼
文章详情
类型、难度、套餐及最近更新信息。
- 类型
- 参考资料
- 难度
- 中级
- 套餐
- Starter · Pro · Agency
- 最近更新
- 2026年9月10日
存储空间由整个账户共享,因此有人将 Drive 当作个人云存储使用时,就会占用其他人收发邮件所需的空间。每个邮箱都有一个 drive_access 级别,用于决定其用户能够访问 Drive 的哪些功能。本页是设置该级别的命令参考。
同一设置也位于控制面板的 邮箱 →(某个邮箱)→ 限制 中。所有套餐都提供此功能,且不收取额外费用。
三种级别
| 值 | 网页邮箱中的 Drive | 发送超过附件阈值的文件 | 与电脑同步 |
|---|---|---|---|
full |
是:浏览、上传、共享和搜索 | 作为下载链接发出并永久保留 | 是 |
attachments_only |
否 | 仍作为下载链接发出;该副本会在保留期结束后删除 | 否 |
disabled |
否 | 拒绝发送:系统会告知发件人文件过大 | 否 |
full 是默认值,也是所有现有邮箱使用的级别。接收邮件永远不受影响:别人发送至该邮箱的大型附件无论处于哪种级别,都可以像往常一样从网页邮箱打开。
所需范围
mailboxes:write,与更新其他邮箱字段所需的范围相同。下面两个 endpoint 都接受 Idempotency-Key 标头,并可安全重试。
单个邮箱
curl -s -X PATCH "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-{MAILBOX_ID}-off" \
-d '{"drive_access":"disabled"}'
更新后的邮箱会连同新级别一起返回:
{ "data": { "id": 1701, "email": "sam@example.com", "drive_access": "disabled", "...": "..." } }
GET /api/v1/mailboxes/{id} 和列表 endpoint 也会返回 drive_access,因此无需更改任何内容即可审计当前设置。
同时处理多个邮箱
curl -s -X POST "https://trekmail.net/api/v1/mailboxes:drive-access" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-domain-123-off" \
-d '{"domain_id":123,"drive_access":"disabled"}'
请只传递一个选择器:
| 选择器 | 适用情况 |
|---|---|
"mailbox_ids": [12, 34] |
指定的一组邮箱,每次调用最多 1000 个 |
"domain_id": 123 |
整个域名;当一个域名对应一个客户时使用 |
"all": true |
账户中的所有邮箱 |
响应会说明处理结果:
{ "data": { "drive_access": "disabled", "matched": 24, "updated": 21, "skipped_shared": 3 } }
matched 表示选择器找到的邮箱数,updated 表示实际发生更改的邮箱数。已经处于所请求级别的邮箱会计入匹配数,但不会更新,因此重复运行此调用不会造成问题。当你需要按计划为新邮箱应用默认值时,这一点很实用。
应用于新邮箱
创建邮箱时不接受 drive_access;新邮箱从 full 开始。要配置一个从未拥有 Drive 访问权限的邮箱,请先创建它,然后设置级别:
# 1. Create the mailbox. The server generates the one-time password and returns it once.
curl -s -X POST "https://trekmail.net/api/v1/mailboxes" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: create-mailbox-sam" \
-d '{"domain_id":123,"local_part":"sam","password_mode":"generated_one_time"}'
# 2. Turn off Drive using the id returned above.
curl -s -X PATCH "https://trekmail.net/api/v1/mailboxes/1701" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-1701-off" \
-d '{"drive_access":"disabled"}'
如果你要批量创建邮箱,最简单的方式是先创建所有邮箱,然后使用 domain_id 进行一次批量调用。
与 MCP 代理配合使用
set_mailboxes_drive_access(domain_id=123, drive_access="disabled")
该工具接受与 REST endpoint 相同的三个选择器,并返回相同的数量。对于单个邮箱,也可以使用 update_mailbox(mailbox_id=1701, drive_access="disabled")。
共享邮箱
单个邮箱 endpoint 会以 422 drive_access_not_applicable 拒绝共享邮箱;批量 endpoint 会跳过共享邮箱,但仍将其计入数量。任何人都不会直接登录共享邮箱:团队成员从自己的邮箱中打开它,因此适用的是该成员邮箱的级别。Drive 被关闭的人无法访问共享邮箱的文件,也不能用共享邮箱绕过该设置。
受限邮箱看到的内容
此限制会在所有位置强制执行,而不仅是在界面中隐藏相关功能:
- 其 Drive 空间不会出现在
GET /api/v1/drive/spaces中 - 按 id 请求其文件时会返回
404 - 无法为其创建设备同步;
POST /api/v1/drive/devices返回422 drive_disabled - 网页邮箱的侧边栏中没有 Drive,也没有拖放上传功能,搜索中也不显示 Drive 结果
更改级别时不会删除任何内容。已存储的文件会留在原处,只是该用户无法访问。这也意味着,仅关闭 Drive 本身不会释放空间。控制面板中的 限制 标签页会显示邮箱占用的内容,并可在需要收回空间时永久删除这些文件。
可能遇到的错误
| 响应 | 含义 |
|---|---|
422 drive_access_not_applicable |
这是共享邮箱;请改为设置成员邮箱的级别 |
422 验证错误 |
批量 endpoint 收到了多个选择器,或未收到任何选择器 |
403 |
令牌缺少 mailboxes:write |
相关文章
跳转到延续此工作流的邻近指南。