sendbaze
Menu

Email

Transactional email that lands, sent from Africa.

Sendbaze runs on Amazon SES in the Africa (Cape Town) region and owns everything around it: domain setup a non-developer can finish, warm-up, suppression, complaint handling and the headers Gmail expects.

send.ts
import { Sendbaze } from "@sendbaze/sdk";

const sendbaze = new Sendbaze({ apiKey: process.env.SENDBAZE_API_KEY! });

const { id } = await sendbaze.emails.send({
  from: "orders@yourshop.co.za",
  to: "thandi@example.com",
  subject: "Your order #1042 has shipped",
  html: "<p>Tracking: <b>CG123456789ZA</b></p>",
});
// id: "em_01j9..." — status arrives by webhook

What it does

Everything a product needs to send email

Send in one call
to, cc, bcc, reply-to, HTML or a template with variables, attachments up to 10 MB, tags and custom headers. Batches of up to 1,000 with per-item results.
A domain wizard people finish
Three DKIM CNAMEs, a MAIL FROM MX and SPF, and a suggested DMARC record, each with a copy button and registrar-specific help for Cloudflare, GoDaddy and local registrars such as Afrihost and Xneelo.
Per-record verification
We poll every five minutes and show pending, verified or failed per record, so you see exactly which one is wrong instead of a single red X.
Templates with versions
Double-brace variables with HTML escaping. Missing variables are rejected with the names listed. React Email is supported through the SDK render helper.
Idempotent by default
Send the same Idempotency-Key twice within 24 hours and you get the same id back, not a duplicate email in someone's inbox.
Send a test to yourself
One button on the domain page. Pick a verified domain, type your address, and prove the setup works before you write a line of code.

Domain setup

A wizard a non-developer can finish

Add the domain, copy the records into your registrar, and watch each one verify. Registrar-specific help covers Cloudflare, GoDaddy and local registrars such as Afrihost and Xneelo.

yourshop.co.za

Re-checked 2 minutes ago · polling every 5 minutes

TypeHostValueStatus
CNAMEsb1._domainkeysb1.dkim.sendbaze.comverified
CNAMEsb2._domainkeysb2.dkim.sendbaze.comverified
CNAMEsb3._domainkeysb3.dkim.sendbaze.compending
MXmail10 feedback-smtp.af-south-1.amazonses.comverified
TXTmailv=spf1 include:amazonses.com -allverified
TXT_dmarcv=DMARC1; p=quarantine; rua=mailto:dmarc@…suggested

Deliverability

Why this is worth paying for

SES gives you the pipes. Sendbaze does the parts that decide whether email lands: warm-up, suppression, complaint handling and headers.

Shared pool with per-org warm-up
New organisations start at 500 emails a day, doubling daily while the bounce rate stays under 2%. Bad senders cannot burn the pool's reputation.
Automatic suppression
Hard bounces and complaints are suppressed globally and per organisation. The list is viewable and exportable, and sends to suppressed addresses return a clear 422.
Complaint-rate circuit breaker
Above 0.1% complaints over 24 hours, sending pauses and the owner is emailed. Everyone else on the pool keeps landing in the inbox.
Header hygiene and one-click unsubscribe
List-Unsubscribe and List-Unsubscribe-Post on marketing mail, correct Message-ID, Date and Precedence headers. We test against mail-tester and aim for 9 or better.
Dedicated IP when you need it
A paid add-on with automated warm-up, for senders above roughly 200,000 a month or with strict reputation requirements.
Events in under a minute
Delivered, bounced, complained and rejected events flow from SES to your webhook endpoint and the logs, signed with HMAC-SHA256 and retried for 24 hours.

Verify a domain and send a test to yourself

The fastest proof that your setup works. Free plan includes 3,000 emails a month.