让 Agent 帮你开通邮箱
通过 HTTP 预留你选的邮箱名称,你确认后 Agent 拿到 API Key。
可直接在 mailly.site/onboard 用同一 API 开始,无需 Agent。也可以把下面这段话交给能使用 HTTP 的 Agent:它不知道名字时会先问你,预留后把验证链接发给你;你确认之后,它会拿到邮箱地址和你账户的 API Key。无需 CLI、MCP、已有账户或复制 API Key。Agent 照着执行的完整说明在 mailly.site/auth.md。
Read https://mailly.site/auth.md
and set up a Mailly inbox for me over HTTP.
Ask me for the name if unknown; if taken, ask for another,
with no blind retries.
Send me the verification link.
After I confirm the inbox in my browser,
store the API key securely, tell me the address,
and ask me before sending any email.用已验证的外部邮箱(不能是 mailly.site 或其子域)登录或注册,自行打开魔法链接,再按账户额度明确绑定这个选定的邮箱。确认这一步会把你账户的 API Key 交给 Agent,如果你没有让 Agent 来开通,就拒绝这个请求。Agent 不能代你验证、确认,或读取外部邮箱来兑换链接。
名称规则
- 名称去除首尾空格并转小写,长度 3–64,仅含
a-z0-9._-,首尾为字母或数字。 - 拒绝
admin、support、info、sys等系统和官方用途名称(忽略._-比对)。 - 预留 30 分钟,同时避让已有邮箱和待确认的预留。遇到
409 code=name_taken时请人类另选,不盲目批量重试。 - 过期或取消会释放名称。预留不创建用户或收件邮箱,匿名收件和读信暂缓。
- 不得替换为已有邮箱或自动生成的名称,不提供多邮箱选择。
HTTP 流程
POST https://api.mailly.site/onboarding/start # no auth
Content-Type: application/json
{"name":"chosen-name"}
# address: "chosen-name@mailly.site"
# request_id, verification_url, status_url, setup_token
# expires_in: 1800, interval: 5
# 409 code=name_taken: ask for another name, no blind retries
GET <status_url> # Bearer setup_token; every >=5 seconds
# ready: {success: true, status: "ready", address: {id, address}, api_key, hint}
# Store api_key securely; report the address.临时 setup_token 只能查询本次开通,请私密保存以便续接。查询间隔至少 5 秒:
| 状态 | HTTP | 处理 |
|---|---|---|
pending | 202 | 继续等待 |
denied | 200 | 停止 |
ready | 200 | 妥善保存 API Key,报告地址 |
| 过期 | 410 | 停止,不自动重启 |
| 限流 | 429 | 停止,不自动重启 |
请求 30 分钟后过期;人类确认后,ready 结果可查询 10 分钟。
开通之后
Agent 用 Authorization: Bearer <api_key> 调用 HTTP API,或用 mailly login <api-key> 登录 CLI。它不能把 Key 写进聊天、日志或提交的文件,发信、回复或转发前要先问你。同一个 Key 你也能在 /app/developers 看到。Remote MCP 走自己的 OAuth 登录,不用这个 Key。