返回首页

SMTPDog 开发者接入文档

清晰透明的接入规范:域名验证、SMTP 与 Email API、API Key、Webhook 验签与常见问题排查。

01 · quickstart

快速开始

从验证发件域名开始,用 SMTP 或 Email API 接入邮件发送。

1. 开始前准备

准备已验证邮箱的账户、可管理 DNS 的域名与当前套餐信息。域名添加需要生效套餐;额度和域名阈值以账户实际配置为准。本文不提供登录、购买或真实发送操作。

2. 添加并验证域名

在控制台添加 ASCII 域名,读取 dns_records 并配置返回的 DKIM 与 SPF TXT。等待 DNS 生效后主动验证:检查 all_passed 和每项 checks,不能只看 HTTP 200。域名验证通过后才能作为发件域名。

curl -X POST "${SMTPDOG_API_ORIGIN}/domains" \
  -H "Authorization: Bearer ${SMTPDOG_SESSION_TOKEN}" \
  -H "Content-Type: application/json" \
  --data '{"domain_name":"example.com"}'

3. 创建发送凭证

创建 API Key 后立即安全保存完整 key;之后列表只显示元数据。建议指定域名范围。发送用 API Key,域名与 Key 管理用会话 Token,两者不可混用,也不要将 Key 放进浏览器或公开仓库。

4. 选择接入方式

Email API 使用标准 HTTP 请求,便于获取 message_id。SMTP 使用支持 TLS 的标准客户端;每封邮件只接受一个收件人。示例中的环境变量是文档占位命名,需替换为实际接入配置,不是后端配置键。

curl -X POST "${SMTPDOG_API_ORIGIN}/v1/mail/send" \
  -H "Authorization: Bearer ${SMTPDOG_API_KEY}" \
  -H "Content-Type: application/json" \
  --data '{
    "from": "sender@example.com",
    "to": "recipient@example.com",
    "subject": "Welcome to your product",
    "text": "Your message goes here."
  }'

5. 理解接收结果

HTTP 202 与 queued 只表示已接收并排队。用 message_id 查询后续状态,或接收 Webhook。sent 也不代表进入收件箱或被阅读。发送超时后不要盲目重复请求:当前没有客户端发送幂等协议。