API参考

发送邮件

Send transactional mail only from your verified custom domains over HTTPS — password resets, receipts, alerts, and similar event-driven messages. Not for newsletters or marketing bulk. One endpoint, domain-scoped API keys, delivery through AWS SES.

概述

端点https://api.unbox.im/v1/email
方法POST
内容类型application/json
范围每个自定义域名一个API密钥

DNS 验证完成后,在 账户 → 域名 → 您的域名 → API 中生成密钥。完整密钥仅显示一次,请妥善保管。同一域名面板中的可选 SMTP 凭据遵循相同的仅限事务性规则。

仅事务性邮件

Unbox HTTP API (POST /v1/email) and optional SMTP submission are for transactional mail only — messages tied to an account action, purchase, or operational event. They are not a newsletter or marketing broadcast service.

允许的使用

  • 账户验证、密码重置和安全提醒
  • 订单确认、收据、发货更新和付款通知
  • 由特定用户或系统事件触发的通知
  • 团队和工作空间消息(邀请、分配、内部提醒)

禁止的使用

  • 新闻简报、促销活动或广播营销
  • 冷启动外联或向购买、抓取或未获同意的列表发送邮件
  • 联盟垃圾邮件、钓鱼或欺骗性内容
  • 任何试图绕过收件人上限、速率限制或套餐配额的行为

速率和收件人限制

为了保护收件人和投递成功率,出站API和SMTP流量需遵守以下限制(此外还有您套餐的月出站配额)。该限制已在网页撰写器、HTTP API和SMTP提交中生效。网页撰写器在每封邮件收件人超过25人时会发出警告,并在超过50人时阻止发送。

限制
每封邮件的收件人数最多50个(收件人+抄送+密送合计)
每日独立收件人数每个工作空间最多1,000个
发送请求速率每个域名每分钟最多10次API或SMTP提交
套餐出站配额您的订阅的月度发送限制仍然适用

这些规则是我们的可接受使用政策的一部分。自动执行已在网页编辑器、HTTP API和SMTP提交中生效。发送营销邮件、批量邮件或以其他方式滥用发送基础设施的账户可能会被限流、暂停或终止。

我们监控投递质量信号。持续超过3%的退信率或超过0.1%的投诉率可能触发临时发送暂停或人工审核。

请查看我们的服务条款隐私政策GDPR声明以了解完整政策详情。

身份验证

在每个请求中发送您的域名 API 密钥:

Authorization: Bearer ubk_live_xxxxxxxxxxxxxxxxxxxxxxxx

或者,使用 X-Api-Key: ubk_live_…。密钥以哈希形式存储;可从域名仪表板撤销或轮换。

请求体

使用 PascalCase 字段名称的 JSON(FromTo 等)。也接受 camelCase 别名。

字段必填描述
From发件人 — 密钥域名上的个人邮箱(主邮箱或别名)。共享队列不能作为有效发件人。
To收件人 — 字符串、逗号分隔字符串或数组
Subject主题行
TextBodyTextBody / HtmlBody 之一纯文本正文
HtmlBodyTextBody / HtmlBody 之一HTML 正文
Cc抄送收件人
Bcc密送收件人
ReplyTo回复地址
Tag可选的元数据标签(随发送一起存储)

示例

{
  "From": "you@yourdomain.com",
  "To": "user@example.com",
  "Subject": "Welcome",
  "TextBody": "Thanks for signing up.",
  "HtmlBody": "<p>Thanks for signing up.</p>",
  "ReplyTo": "you@yourdomain.com",
  "Tag": "welcome"
}

成功响应

HTTP 200 及 JSON:

{
  "ErrorCode": 0,
  "Message": "OK",
  "MessageID": "0100018…-000000-…",
  "SubmittedAt": "2026-06-23T12:00:00.000Z",
  "To": "user@example.com"
}

错误响应

错误返回 4xx(或意外故障时返回 500)及 JSON:

{
  "ErrorCode": 300,
  "Message": "TextBody or HtmlBody is required."
}
错误代码含义
0成功
10缺少 API 密钥
11密钥无效或已撤销,或域名未通过发送验证
300验证错误(缺少字段、JSON 无效等)
403发件地址不允许 — 必须是密钥域名上的个人邮箱
406SES 拒绝发送该消息

示例

you@yourdomain.com 替换为域名下的个人邮箱,并使用您自己的 API 密钥。

curl "https://api.unbox.im/v1/email" \
  -H "Authorization: Bearer ubk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "From": "you@yourdomain.com",
  "To": "user@example.com",
  "Subject": "Welcome",
  "TextBody": "Thanks for signing up.",
  "HtmlBody": "<p>Thanks for signing up.</p>",
  "ReplyTo": "you@yourdomain.com",
  "Tag": "welcome"
}'

快速入门

  1. 创建 Unbox 账户并添加您的自定义域名。
  2. 在 Domains 中完成所有 DNS 验证步骤。
  3. 打开 Domains → 您的域名 → API,生成一个域名密钥。
  4. 使用上述示例发送您的第一条消息。
Unbox — API 文档 | Unbox.im