Sending API Docs

One API to send sign-up, password-reset and notification email from your site — no SMTP to run.

Available now Ownership, MX, SPF, DKIM and DMARC are verified separately. Once ready, send with an API key and monitor per-recipient delivered, failed and pending results in the dashboard.

Quick start

  1. 1

    Bind a domain

    Add your sending domain under Website sending.

  2. 2

    Verify DNS

    Add the SPF / DKIM / DMARC and verify TXT records, then verify in one click.

  3. 3

    Create a key

    Create a te_live_ key — the plaintext is shown only once, so save it then.

Send an email

A POST request with your te_live_ key in the Authorization header.

curl -X POST https://tutuemail.com/api/sending/send \
  -H "Authorization: Bearer te_live_xxxxxxxxxxxxxxxx" \
  -H "Idempotency-Key: signup-user-123" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@your-domain.com",
    "to": "user@example.com",
    "subject": "欢迎注册",
    "html": "<p>点击验证你的邮箱</p>"
  }'

Request fields

from Sender address, must be under a verified domain
to Recipient address (single or array)
subject Email subject
html / text Email body (HTML or plain text)
Idempotency-Key Optional header; reuse the value on retries to prevent duplicate sends

An accepted request returns HTTP 202 with a request id and accepted state. With the same API key, GET /api/sending/messages/{id} returns per-recipient delivered, failed, pending, or unknown results.

Errors & limits

401 Invalid or revoked key — regenerate a te_live_ key
403 Sender domain not verified, or address not under a verified domain
429 Sending rate exceeded; response carries retry_after — retry later as indicated
503 Mail engine temporarily unavailable; retry with the same Idempotency-Key

Recipient count, body size, and rate have protective limits. Usage is counted only after validation, so invalid requests never drain your quota.