通过 API 和 MCP 管理已连接账户

通过 TrekMail 消息 API 和 MCP 工具连接并管理 Gmail 等外部邮箱,清楚了解权限范围、套餐限制与消息路由方式。

文章详情

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

类型
指南
难度
高级
套餐
Pro · Agency
最近更新
2026年8月23日

已连接账户让网络邮箱能够读取外部邮箱中的邮件并通过其发送邮件,包括 Gmail、Yahoo、iCloud、Outlook.com/Microsoft 365 或任何 IMAP 服务器。消息 API 和 MCP 工具以编程方式提供相同的功能:你可以列出、添加、测试、编辑和删除已连接账户,也可以将常规消息调用(列出、读取、发送、标记、移动、删除和文件夹)指向已连接账户,而不是令牌自己的邮箱。

简单来说:mailbox_id 选择代理可以代表其操作的 TrekMail 邮箱,而 external_account_id 选择其中的 Gmail 或其他已连接邮箱。两者不能互换。

套餐、限制和目录大小

套餐 每个邮箱的已连接账户数 控制面板/网络邮箱 API 和 MCP 管理
Nano 0
Starter 5
Pro 10
Agency 30

已连接账户管理提供七种消息工具。限定权限范围的令牌只会看到它实际可以使用的工具,而不是完整的产品目录。

开始之前

  • 已连接账户是网络邮箱功能,使用消息令牌接口 (/api/v1/messages/...)。它由具有下列权限范围的消息令牌授权,而不是控制面板 API 令牌。
  • 套餐限制适用于每个邮箱:Starter 5, Pro 10, Agency 30。Nano 套餐不包含已连接账户。
  • 每个 endpoint 都限定于令牌自己的邮箱。令牌只能查看和管理自己的已连接账户,不能访问其他邮箱的账户。
  • 凭据和 OAuth 令牌在响应中始终会被遮蔽。你可以写入密码或应用专用密码,但永远无法将其读回。
  • Outlook.com 和 Microsoft 365 账户通过网络邮箱界面中的 Microsoft 登录 (OAuth) 进行连接。连接后,API 可以管理和使用这些账户,但不会执行交互式 Microsoft 同意步骤。

权限范围

权限范围 功能
messages:read 列出已连接账户,根据电子邮件地址检测提供商
messages:write 添加、测试、编辑和删除已连接账户

在消息调用中指定已连接账户,需要该调用原本要求的相同权限范围(例如,列出其邮件需要 messages:read;发送邮件需要 messages:send)。

管理已连接账户

基础路径:/api/v1/messages/external-accounts

方法 路径 权限范围 用途
GET /external-accounts messages:read 列出邮箱的已连接账户
POST /external-accounts/detect messages:read 根据电子邮件地址检测提供商并给出建议的服务器设置
POST /external-accounts/test messages:write 测试未保存的凭据(不会创建账户)
POST /external-accounts messages:write 添加已连接账户(必须通过测试;错误凭据绝不会被保留)
PATCH /external-accounts/{id} messages:write 编辑标签、颜色、统一显示开关或凭据
POST /external-accounts/{id}/test messages:write 重新测试已保存的账户
DELETE /external-accounts/{id} messages:write 删除账户(擦除已存储的凭据;绝不会影响远程邮箱)

添加账户

POST /api/v1/messages/external-accounts
Scope: messages:write

请求正文:

字段 类型 必填 说明
email string 外部邮箱地址
provider string gmailyahooaolicloudzohogmxyandexfastmailcustom
password string 密码或应用专用密码(大多数提供商要求使用应用专用密码)
imap_host string IMAP 主机名
imap_port integer 143993
imap_encryption string ssltls
smtp_host string SMTP 主机名
smtp_port integer 4655872525(端口 25 会被拒绝)
smtp_encryption string ssltls
imap_username string 默认为电子邮件地址
smtp_username string 默认为 IMAP 用户名
smtp_password string 默认为 IMAP 密码
label string 显示标签(默认为电子邮件地址)
include_in_unified boolean 在所有收件箱中显示(默认值为 true

请先调用 POST /external-accounts/detect,自动填写 provider 和服务器设置。存储调用会在保存前进行真实的 IMAP + SMTP 测试。返回 422 并带有错误类别 (authtlsnetworktransient_throttle),表示凭据无效且没有存储任何内容。

在消息调用中指定已连接账户

每个操作邮箱的消息 endpoint 都接受可选的 external_account_id。提供该值可对相应的已连接账户执行调用,而不是令牌自己的邮箱;省略该值则使用邮箱本身。这适用于列出、读取、发送、回复、标记、移动、删除以及文件夹列表。

GET /api/v1/messages?external_account_id=42&folder=INBOX
Scope: messages:read
POST /api/v1/messages/send
Scope: messages:send
{
  "external_account_id": 42,
  "to": "someone@example.com",
  "subject": "Sent from my connected account",
  "text": "..."
}

仅使用 external_account_id 发送时,邮件会通过该账户自己的 SMTP 服务器发出(使用其提供商的 SPF/DKIM)。如果改为提供与来源绑定的 identity_id,则会使用该发件人身份的域名或已保存配置文件路由,同时仍将已发送副本保存在已连接的收件箱中。账户必须处于正常状态 (status: active);已断开连接的账户会返回错误,要求你重新连接。请参阅通过 API 和 MCP 使用发件人地址

MCP 工具

AI 代理也可以通过 MCP 使用相同功能(包括专用 stdio 服务器和公共 MCP 服务器):

工具 权限范围 用途
list_external_accounts read 列出邮箱的已连接账户
detect_external_account read 根据电子邮件地址检测提供商和设置
test_external_account manage 测试未保存的凭据
create_external_account manage 添加已连接账户
update_external_account manage 编辑标签/颜色/统一显示开关/凭据
test_saved_external_account manage 重新测试已保存的账户
delete_external_account manage 删除已连接账户

消息工具 list_messagesread_messagesend_messagelist_foldersupdate_message_flagsmove_messagedelete_messageprepare_replyprepare_reply_allprepare_forward 接受可选的 external_account_id 参数。发送、创建草稿和定时发送也接受与来源绑定的 identity_id,该值由 list_identities 返回。

由于管理工具会使用用户提供的凭据与任意邮件服务器建立出站连接,因此它们采用与已连接账户其余功能相同的安全措施:主机允许列表、阻止私有地址范围、端口允许列表以及每个主机的连接上限。

相关文章

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

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

登录 TrekMail

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

12 个字符 两次密码一致

重置邮件已发送

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

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