Skip to main content
Email is ideal for rich content delivery, transactional notifications, and messages that need to be referenced later.

When to Use Email

  • Transactional emails: Order confirmations, receipts, shipping updates
  • Account notifications: Password resets, security alerts, welcome emails
  • Rich content: HTML formatting, images, detailed information
  • File attachments: Invoices, receipts, reports, documents (up to 40MB)
  • Asynchronous communication: Messages that don’t require immediate attention
Email operates as a separate channel and does not participate in smart routing. You must explicitly specify channel: "email" or send to an email address.

Sending an Email

You can optionally specify a sender by passing zavuSender (TypeScript), zavu_sender (Python), or the Zavu-Sender header (cURL). If omitted, your project’s default sender is used.

HTML Emails

Send rich HTML emails by including htmlBody. The text field serves as the plain-text fallback:

Attachments

Send files by including the attachments array. Each attachment can provide file content as base64 or a URL to fetch from.

Base64 Content

URL Path

Instead of encoding the file, provide a URL and Zavu will fetch it:

Inline Images

Embed images directly in HTML using content_id:

Attachment Fields

Each attachment must have either content or path, not both. Total attachment size is limited to 40MB per email, and a maximum of 50 attachments per message.

Request Fields

Channel Detection

If you send to an email address without specifying a channel, Zavu automatically selects email:

Setting Up Email

Before sending emails, you need to configure your sender with a verified domain.

1. Add Your Domain

Go to Email Domains in the dashboard and add your domain (e.g., yourcompany.com).

2. Configure DNS

Add the DKIM records provided by Zavu to your DNS:
DNS propagation typically takes a few minutes, but can take up to 48 hours in some cases.

3. Verify Domain

Zavu automatically checks your DNS records every 5 minutes. Once verified, your domain status will change to verified.

4. Assign to Sender

Assign the verified domain to a sender and configure your from address:
  • From address: noreply@yourcompany.com
  • Reply-To address: support@yourcompany.com (optional)

Delivery Status

Check message status by ID:

Common Errors

Email vs SMS/WhatsApp

Email is a separate channel and does not fall back to SMS/WhatsApp if delivery fails.

Best Practices

  1. Always include plain text - Some email clients only show plain text
  2. Use a verified domain - Improves deliverability and avoids spam filters
  3. Set Reply-To - Make it easy for recipients to respond
  4. Keep subjects clear - Descriptive subjects improve open rates
  5. Test before sending - Preview HTML emails in multiple clients
  6. Respect unsubscribes - Honor opt-out requests promptly

Compliance

Email messaging is regulated. Ensure you comply with CAN-SPAM, GDPR, and other applicable laws.

Requirements

  • Consent: Have permission before sending marketing emails
  • Unsubscribe: Include a working unsubscribe link
  • Sender identification: Clearly identify your business
  • Physical address: Include your business address (for marketing emails)
  • Honest subject lines: Don’t use deceptive subject lines

Example Compliant Email