Transactional email API

Send application email from your own domain

Use zaSend for email that is triggered by your product: password resets, login codes, receipts, billing notices, account alerts, and onboarding messages. You send through an API key, and zaSend handles domain checks, DKIM signing, logs, bounces, and webhooks.

Built for product-triggered email

Transactional email should be tied to a user action or account event. zaSend is for those operational messages, not cold outreach or marketing blasts.

API first, SMTP when useful

Use the REST API for app code and workers. Use SMTP when a framework, CMS, or existing tool already knows how to send mail that way.

Domain authentication stays visible

zaSend shows the SPF, DKIM, and DMARC records your domain needs and keeps the verification status visible in the dashboard.

What developers get

  • REST API for single and multi-recipient transactional messages
  • SMTP relay on smtp.zasend.com:587
  • Node.js and Python SDKs
  • Webhook events for accepted, failed, bounced, and soft-bounced email
  • Reusable templates with variables
  • Suppression lists and bounce handling
  • Email logs with message metadata and delivery timeline
curl -X POST https://zasend.com/api/v1/emails/send \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@yourdomain.com",
    "to": "user@example.com",
    "subject": "Verify your account",
    "html": "<p>Your code is 123456</p>"
  }'

Before you send real user email

Verify the sending domain and send a test message to Gmail, Outlook, and your own work inbox. Check that SPF and DKIM pass.

Set up webhooks if your app needs to react to bounces or failures. Suppress bad recipients early; repeated bounces damage sender reputation.