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.
總覽
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% 可能觸發暫時停止發送或人工審查。
驗證
每次請求都需傳送您的網域 API 金鑰:
Authorization: Bearer ubk_live_xxxxxxxxxxxxxxxxxxxxxxxx或者,使用 X-Api-Key: ubk_live_…。金鑰會以雜湊方式儲存;可從網域儀表板撤銷或輪換。
請求主體
使用 PascalCase 欄位名稱的 JSON(From、To 等)。也接受 camelCase 別名。
| 欄位 | 必填 | 說明 |
|---|---|---|
From | 是 | 寄件人 — 您在金鑰所屬網域上的個人信箱(主要或別名)。共用佇列不可作為寄件人。 |
To | 是 | 收件人 — 字串、逗號分隔字串或陣列 |
Subject | 是 | 主旨 |
TextBody | TextBody / HtmlBody 擇一 | 純文字內容 |
HtmlBody | TextBody / 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 | 寄件地址不允許 — 必須為該金鑰所屬網域上的個人信箱 |
406 | SES 拒絕了此訊息 |
範例
將 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"
}'開始使用
- 建立 Unbox 帳戶並新增您的自訂網域。
- 在「網域」中完成所有 DNS 驗證步驟。
- 開啟「網域」→ 您的網域 →「API」並產生一組網域金鑰。
- 使用上述範例寄送您的第一封郵件。