SuperAPI AI 工具集

primitive-domains

部署与运维

查看项目

更新于 10-18 11:08

技能介绍

用途

primitive-domains 用于将 Primitive 邮件服务部署到用户自有域名(例如 example.com),而不是托管的 *.primitive.email 地址。完成认领、发布 DNS 记录并验证后,该域名可将邮件收入 Primitive,并可作为 From 发件地址使用。托管地址无需此流程,无需 DNS 即可立即使用(参见 primitive-inbox)。

主要能力

  • 列出域名及其验证状态。
  • 为域名生成需要发布的 DNS 记录,或生成可导入的 BIND zone 文件。
  • 运行验证(verify)检查 MX、所有权 TXT、SPF、DKIM、DMARC、TLS-RPT 是否就绪。
  • 使用 check-domain-dns 复查所有记录的当前状态,按所有权、入站、出站分别报告漂移。
  • 查看出站发件状态与入站就绪情况。

使用方式

先安装并确认身份:

npm install -g @primitivedotdev/cli
primitive whoami

若未登录,按 primitive-inbox 技能的注册步骤处理。若本次会话已使用所有者签发的连接代理凭证,应保留该身份并遵循 primitive-connect 的指引,不要视为未登录会话,也不要另起注册或替换组织密钥。

认领域名:

primitive domains add --domain acme.com

返回域名 id 与 dns_records(需发布的准确记录)。若返回 mx_conflict,说明域名已有指向其他服务商的 MX 记录,应停止并告知用户;仅在用户明确确认替换后执行:

primitive domains add --domain acme.com --confirmed

生成 zone 文件供导入:

primitive domains zone-file --id <domain-id> --output acme.com.zone
primitive domains zone-file --domain acme.com --output acme.com.zone
primitive domains zone-file --id <domain-id> --outbound-only

--outbound-only 仅生成 SPF/DKIM/DMARC,适用于只发件场景。记录值必须逐字复制,DKIM 密钥缺一个字符即验证失败。

DNS 传播后验证:

primitive domains verify --id <domain-id>

成功则域名变为已验证;失败会列出通过/未通过的检查及仍期望的记录。应告知用户缺失哪些记录,不要每隔几秒重复 verify。

确认邮件流转:

primitive domains list
primitive sending get-outbound-status
primitive inbox status --domain acme.com

可用 primitive-send 从新域名发测试邮件;入站可向该域名下地址发信,并用 primitive emails wait --to <address> --number 1 --timeout 120 观察(参见 primitive-inbox)。到达邮件会被存储,若需对其运行代码,参见 primitive-functions 或 primitive-webhooks。

复查已工作域名的漂移:

primitive domains check-domain-dns --id <domain-id>

该命令立即复查每条记录并按范围报告状态,不会提升域名状态,仅告知漂移情况。它有速率限制,遇到 429 应等待 Retry-After。不适用于托管 *.primitive.email 域名。

常见原因:pending_ownership 表示所有权 TXT 缺失或错误;pending_outbound_dns 表示 SPF、DKIM 或 DMARC 缺失,或存在第二条 SPF 记录(一个域名只能有一条 v=spf1 TXT 记录,需合并);入站无响应表示 MX 仍指向旧服务商或域名未激活(可通过 primitive domains update --id <domain-id> --is-active 处理)。

适用场景

需要以自有域名(或其子域,如 mail.acme.com、agents.acme.com)接收并发送邮件的场景。域名已使用 Google Workspace、Microsoft 365 等邮箱服务商时,发布 Primitive 的 MX 记录会把整个域名的入站邮件迁至 Primitive,应先明确告知用户并获得明确同意,可考虑改用子域名。

限制与安全边界

  • 无法自行发布 DNS 记录,除非用户已授予其 DNS 服务商访问权限;职责是把需要发布的内容准确交给用户,然后再验证。
  • 认领域名、更改域名邮件流向、删除域名或设置 --no-is-active 前必须先征得用户确认。
  • 列表、生成记录/zone 文件、运行 verify 或 check-domain-dns 可自由执行,无需用户确认。
  • 资料未提供价格、计费方式、支持的具体 DNS 服务商清单以外的平台信息。