返回首頁

SMTPDog 開發者串接文件

清晰透明的串接規範:網域驗證、SMTP 與 Email API、API Key、Webhook 驗簽與常見問題排查。

04 · api keys security

API Key 與安全

區分憑證、限制寄件網域範圍,安全輪替及撤銷金鑰。

1. 兩類 Bearer 憑證

工作階段 Token 用於 domains、api-keys、webhooks 管理;API Key 用於 /v1/mail 與 SMTP 密碼。它不是帳戶密碼、會話 Token 或語言 Cookie。GET /v1/apikey/verify 只驗證 Key,不保證網域已驗證或額度充足。

2. 建立與保存

電子郵件驗證後使用 POST /api-keys,name 為非空字串,domain_id 為選填數字 ID。完整 key 僅在 201 建立回應出現。請存入伺服器秘密管理工具,不要記錄至日誌、截圖或前端程式碼。列表無法還原明文。

欄位 / 設定型別 / 狀態說明
namestring建立必填非空
domain_iduint64建立時選填網域 ID
keystring僅建立回應提供完整金鑰
id / key_prefix / statusuint64 / string列表資料,prefix 不可驗證
allowed_domain_id / last_used_atuint64 / time可省略,非固定 null 欄位
curl -X POST "${SMTPDOG_API_ORIGIN}/api-keys" \
  -H "Authorization: Bearer ${SMTPDOG_SESSION_TOKEN}" \
  -H "Content-Type: application/json" \
  --data '{"name":"Server integration","domain_id":123}'

curl -X GET "${SMTPDOG_API_ORIGIN}/api-keys" \
  -H "Authorization: Bearer ${SMTPDOG_SESSION_TOKEN}"

curl -X DELETE "${SMTPDOG_API_ORIGIN}/api-keys/${SMTPDOG_KEY_ID}" \
  -H "Authorization: Bearer ${SMTPDOG_SESSION_TOKEN}"

3. 限制發送範圍

省略 domain_id 可用於帳戶已驗證網域;指定後僅允許該網域發送。建立時檢查歸屬,發送時仍檢查 verified。目前不支援 Key 有效期、角色或直接修改範圍。範圍限制不取代所有權驗證及反濫用檢查。

4. 輪替與撤銷

輪替順序為建立新 Key、更新服務設定、確認切換,再 DELETE /api-keys/{id} 撤銷舊 Key。回應為無本文 204,新請求無法使用舊 Key。目前沒有原地輪替或明文還原介面。誤用 Token 時請先確認所需驗證方式。