通过 API 和 MCP 配置邮件客户端

通过 TrekMail API 或 MCP 获取安全的 IMAP、SMTP 和 DAV 设置、委派文件夹、发送就绪状态及 Apple Mail 描述文件。

文章详情

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

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

TrekMail 通过 REST 和 MCP 提供控制面板中 应用和设备所使用的相同连接数据。两个接口均为只读,并要求邮箱读取权限。

它们绝不会返回邮箱密码或自定义 SMTP 提供商的凭据。用户直接在邮件应用中输入邮箱密码。即使域名通过自定义提供商发送邮件,外部应用也会向 TrekMail 的公开 SMTP endpoint 提交邮件;TrekMail 会在内部应用私有域名路由。

获取连接设置

GET /api/v1/mailboxes/{mailbox_id}/client-setup?lang=en
Authorization: Bearer tm_live_...

所需内部权限范围:mailboxes:read。令牌的可选 domain_idsmailbox_ids 限制会被强制执行。

响应包含:

  • 入站 IMAP 主机、SSL 端口、用户名和就绪状态;
  • 出站 SMTP 主机、SSL 端口、用户名和就绪状态;
  • 日历和联系人的 DAV 服务器 URL、连接就绪状态以及返回地址是否带品牌;
  • 应用和设备中显示的 Gmail、Outlook、Apple Mail、Thunderbird 和通用 IMAP 三步本地化指南;
  • sending.modeplatformprofilenot_configured
  • sending.reason:出站邮件未就绪时稳定且机器可读的原因;
  • apple_mail_profile.available,仅当接收和发送都就绪时为 true
  • shared_mailboxes.native_access_enabled、配置的命名空间,以及委派给此普通邮箱的每个共享邮箱对应的一个 items[] 条目;
  • password_included: false,作为明确的安全保证。

每个委派项都包含持久的 native_access_status/native_access_readyfolders 下的准确标准路径、服务器强制的 operations 以及有效的 send_as_ready/send_as_reasoncan_send 仍表示管理员分配的可以回复权限;SMTP 不可用时它也可能是 true,因此自动化必须检查两个就绪字段。如果成员邮箱未激活、登录暂停或直接登录禁用,共享邮箱仍可发现,但其“发送身份”原因会返回 mailbox_unavailablemailbox_login_suspendeddirect_login_unavailable。旧版 folder 字段仍是准确的收件箱路径。请等到 native_access_ready=true 后再指导用户设置。

SMTP 会传输回复或转发邮件,但不会保存“已发送”副本。因此 sent_copy.smtp_saves_copyfalse;请配置客户端将副本追加至 sent_copy.folder(与 folders.sent 相同),以便整个团队查看。客户端未自动映射“归档”或“垃圾邮件”时,folders.archivefolders.junk 是准确的移动目标。移至垃圾邮件文件夹本身并不保证训练服务器端分类器。

始终使用普通成员邮箱 ID 请求此 endpoint,并使用该成员自己的地址和密码验证客户端。不要创建第二个账户,也不要尝试使用共享地址直接验证。

原生访问禁用时,shared_mailboxes.native_access_enabledfalseitems 为空。原生访问启用但 items 为空时,普通邮箱当前没有有效的共享邮箱成员资格。两种情况下都不会包含任何密码。

可选 lang 参数接受 Apple 描述文件 endpoint 所支持的相同 13 种语言。省略时,TrekMail 使用 Accept-Language,然后使用默认区域设置。每份指南都有稳定的 id、三个本地化 steps 和一个 actionuse_server_settingsdownload_apple_profile

connection_status=receiving_only 不代表完整设置成功。请先配置或恢复域名的出站路由,再指导用户连接会验证两台服务器的客户端。

connection_status=unavailable 表示邮箱生命周期已变化,无法再直接验证。请勿使用返回的服务器坐标或提供 Apple Mail 描述文件,而应刷新邮箱状态。

下载 Apple Mail 描述文件

GET /api/v1/mailboxes/{mailbox_id}/apple-mail-profile?lang=en
Authorization: Bearer tm_live_...
Accept: application/x-apple-aspen-config

响应是 .mobileconfig 附件。支持的 lang 值为 enesfrdeptitnlruzhjakoarhe。省略 lang 时,TrekMail 使用 Accept-Language,然后使用默认区域设置。

描述文件包含 IMAP 和 SMTP 设置,但没有密码字段。Apple 会在安装期间要求用户输入邮箱密码。出站邮件不可用时,TrekMail 返回 409 mail_client_setup_not_ready,而不会生成误导性描述文件。

MCP 工具

这些工具使用相同的 REST endpoints 和授权规则:

工具 结果
get_mail_client_setup 不含密码的服务器设置、实际发送和原生访问就绪状态、准确的共享标准文件夹和操作,以及普通 mailbox_id 的五份本地化指南;接受可选的 13 语言 locale
get_apple_mail_profile file_namemedia_typeencoding: "base64"content_base64;接受可选的 13 语言 locale

MCP 传输返回结构化工具内容,而非浏览器下载。将 content_base64 解码为字节并使用 file_name 保存;解码前不要将其重新解释为 JSON 或 UTF-8。

两个工具都要求托管 OAuth 权限范围 mail:read,它会扩展为内部 mailboxes:read。它们是只读工具,不依赖自托管 stdio 服务器中的任何破坏性操作环境标志。

错误

代码 含义
not_found 邮箱不存在,或超出账户或令牌限制。
mailbox_unavailable 邮箱未激活。
direct_login_unavailable 提供的 ID 属于共享邮箱。请请求其普通成员邮箱之一的设置并检查 shared_mailboxes.items
mail_client_setup_not_ready 在出站邮件就绪前请求了 Apple 描述文件;请检查 error.reason
forbidden 令牌缺少 mailboxes:read,或其套餐不再允许该权限范围。

设置 endpoint 可能返回以下 sending.reason 值:mailbox_unavailabledirect_login_unavailabledomain_unavailabledomain_deprovisioningaccount_suspendedemail_verification_requiredmailbox_sending_disabledsmtp_not_configuredmanaged_smtp_not_in_planmanaged_smtp_entitlement_inactivesmtp_profile_unavailablesmtp_route_invalid

相关文章

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

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

登录 TrekMail

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

12 个字符 两次密码一致

重置邮件已发送

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

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