通过 API 暂停邮箱登录访问权限

只需一次 REST 调用或一个 MCP 工具,即可禁止邮箱所有者登录,同时继续接收邮件,适用于单个邮箱、整个域或账户内的所有邮箱。

文章详情

类型、难度、套餐及最近更新信息。

类型
参考资料
难度
中级
套餐
Pro · Agency
最近更新
2026年9月10日

暂停登录后,用户无法进入邮箱,但邮箱本身会继续工作。邮件会照常送达并等待用户处理,不会被退回,也不会丢失。本页是设置此功能的命令参考。

控制面板的 邮箱 →(一个邮箱)→ 限制 中也有相同的控制项。所有套餐均可使用,无需额外付费。

暂停登录与暂停邮箱:两种不同的调用

:suspend-login :pause
登录、发送、会话 停止 停止
接收邮件 照常送达 拒收并退回发件人
可恢复 :resume-login :resume
计入套餐

对于尚未付款的客户、处于两份合同之间的人员,或任何仍需为其接收邮件的用户,请使用 :suspend-login。如果邮箱应彻底停止工作,包括停止接收发件人的邮件,请使用 :pause

还有第三种状态,但这两个调用都无法设置。如果外发活动表明邮箱密码可能遭到滥用,TrekMail 可以停止该邮箱发送邮件,同时保持登录和收件不变。此时发送请求会返回 403 mailbox_sending_paused:resume:resume-login 都无法解除此状态,重复调用也没有作用:必须更改密码,再由支持团队恢复发送。请参阅为什么我无法发送邮件?

所需权限范围

mailboxes:write,与更新其他邮箱字段所需的权限范围相同。以下所有 endpoints 均接受 Idempotency-Key 标头。

单个邮箱

curl -s -X POST "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}:suspend-login" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: suspend-{MAILBOX_ID}-invoice-42" \
  -d '{"reason":"Unpaid invoice 42"}'
{ "status": "login_suspended", "message": "Sign-in has been suspended. The mailbox keeps receiving mail." }

reason 是可选字段,最多可包含 255 个字符。它会显示在您的控制面板中,并由 API 返回;被暂停的用户永远不会看到它。

要解除暂停:

curl -s -X POST "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}:resume-login" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Idempotency-Key: resume-{MAILBOX_ID}"

读取状态

GET /api/v1/mailboxes/{id} 和列表 endpoint 都会返回此状态,因此您无需更改任何内容即可进行检查:

{ "data": { "id": 1701, "email": "sam@example.com", "status": "active",
            "login_suspended": true,
            "login_suspended_at": "2026-08-16T14:02:11+00:00",
            "login_suspended_reason": "Unpaid invoice 42", "...": "..." } }

请注意,status 仍为 active。这不是需要绕过的错误:邮箱仍在运行并接收邮件。使用 login_suspended 判断登录状态,使用 status 判断邮箱本身是否运行。

同时处理多个邮箱

curl -s -X POST "https://trekmail.net/api/v1/mailboxes:login-access" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: suspend-domain-123-august" \
  -d '{"domain_id":123,"login_suspended":true,"reason":"Unpaid invoice 42"}'

请仅传入一个选择条件:

选择条件 适用场景
"mailbox_ids": [12, 34] 一组指定邮箱,每次调用最多 1000 个
"domain_id": 123 整个域。一个域对应一个客户时使用此项
"all": true 账户中的所有邮箱

响应会说明处理结果:

{ "data": { "login_suspended": true, "matched": 24, "updated": 21, "skipped": 3 } }

matched 表示选择条件找到的邮箱数,updated 表示实际更改的邮箱数,skipped 表示无法应用调用的邮箱数。已处于所请求状态的邮箱会计入匹配数,但不会更新。因此可以安全地重复调用,例如让计费任务每晚执行一次。

设置 "login_suspended": false 可恢复同一组邮箱。

与 MCP 智能体配合使用

suspend_mailbox_login(mailbox_id=1701, reason="Unpaid invoice 42")
resume_mailbox_login(mailbox_id=1701)
set_mailboxes_login_access(domain_id=123, login_suspended=true, reason="Unpaid invoice 42")

拥有所需权限范围的智能体可以使用这三个工具。对于本地托管的 MCP 服务器,管理员可以要求写入操作必须获得明确批准,防止智能体意外禁止用户访问。

邮箱暂停登录后的行为

暂停会在每个访问入口强制执行,而不是仅在界面中隐藏邮箱:

  • 拒绝登录网页邮箱,并终止所有已打开的会话
  • 拒绝 IMAP、POP 和 SMTP 身份验证,因此邮件应用会停止工作,无法发送任何邮件
  • 拒绝 CalDAV 和 CardDAV,因此日历与联系人会停止同步到手机和笔记本电脑
  • 该邮箱的消息令牌 (tm_msg_) 会返回 422 mailbox_login_suspended。令牌不会被撤销,因此恢复登录后即可再次使用
  • 用于文件同步的设备密码会被永久撤销;解除暂停后需要创建新密码
  • 密码重置链接和恢复代码会停止工作,也无法签发新的链接和代码;重置密码不会恢复访问权限,因为阻止访问的原因不是密码
  • 接收邮件会照常送达,转发规则和过滤器也会继续运行

任何内容都不会删除。所有邮件、联系人、日历条目和文件都会留在原处,邮箱仍会计入您的套餐和存储空间,并继续接收邮件。

迁移到暂停登录的邮箱

无法向暂停登录的邮箱启动迁移:POST /api/v1/migrations 会返回 422 mailbox_login_suspended。导入程序需要登录才能送达所复制的邮件,因此任务会在中途失败。请先恢复登录并执行迁移,然后根据需要再次暂停。

共享邮箱

单邮箱 endpoint 会以 422 mailbox_unavailable 拒绝共享邮箱,批量 endpoint 会跳过共享邮箱,但仍将其计入数量。用户不会直接登录共享邮箱:团队成员从自己的邮箱中打开它。因此,应暂停该成员自己的邮箱来关闭访问权限,这也会阻止其访问共享邮箱。将暂停状态存储在共享邮箱记录中看似生效,实际不会改变任何内容。

可能遇到的错误

响应 含义
409 已暂停(或已恢复),无需操作
422 mailbox_unavailable 共享邮箱,或已暂停、正在删除的邮箱
403 mailbox_sending_paused 由发送 endpoints 返回,而非这里的 endpoints:该邮箱已停止发送,只有支持团队可以恢复
422 验证错误 批量 endpoint 传入了多个选择条件,或未传入任何选择条件
403 令牌缺少 mailboxes:write
404 邮箱不属于此账户,或令牌的权限范围无法访问它

相关文章

跳转到延续此工作流的邻近指南。

我们使用运行和保护 TrekMail 所必需的技术。确认后还会允许《Cookie 政策》中所述的有限分析和广告衡量。

登录 TrekMail

访问您的控制面板、邮箱和 DNS。

12 个字符 两次密码一致

重置邮件已发送

如果该邮箱对应已有账户,我们已发送密码重置说明。

继续即表示您同意 TrekMail 的 服务条款隐私政策.