How to Warm Up a New Email Domain for Transactional Email
You bought a .id domain, verified it, and plugged it into your email API. Then your first 10,000 OTP emails go out — and half land in spam. What went wrong?
Probably nothing you can see in your code. The problem is sender reputation: a brand-new domain that suddenly sends thousands of emails looks exactly like a spammer to inbox providers like Gmail and Yahoo.
This guide explains how to warm up a domain, with a schedule you can copy.
Why a new domain starts with zero trust
Gmail, Yahoo, and Outlook don't know your domain. There's no sending history, so every signal is weighted toward suspicion: a sudden volume spike, a high bounce rate, or a single complaint can tank your reputation before you've sent your first real invoice.
For Indonesian startups this is especially painful. Your OTP flow, your booking confirmation, your food-delivery receipt — these are time-sensitive. If they land in spam, users churn in minutes.
The warmup schedule (copy this)
The rule is simple: start small, ramp slowly, keep your content consistent.
| Day | Volume | Notes |
|---|---|---|
| 1–2 | 10–50/day | Send only to real, engaged addresses |
| 3–4 | 100–200/day | Watch bounce and complaint rates |
| 5–7 | 500–1,000/day | Increase only if complaints stay near zero |
| 8–14 | Ramp to full volume | Scale in steps, never jumps |
Numbers to hold: - Bounce rate: under 2% - Complaint rate: under 0.1% (ideally zero) - Never jump from 100 to 10,000 in one day
What warms a domain (and what kills it)
Warms it: - Consistent volume — a steady trickle beats a Monday spike - DKIM, SPF, and DMARC all configured and passing (MailAnvil auto-configures DKIM for Cloudflare DNS users) - Real, engaged recipients who open and reply
Kills it: - Buying a list and blasting it - Sending from an unverified "from" address - Ignoring bounce and complaint notifications
Where Indonesian businesses usually trip up
-
Fintech OTP. A payment app's whole funnel depends on the OTP arriving in seconds. Warming up the domain before launch is the difference between a smooth signup and a support queue full of "I never got my code".
-
Travel booking. A booking site sends a confirmation for every transaction. Volume spikes during promo periods — if the domain isn't warmed, the biggest sale day becomes the biggest deliverability disaster.
-
Food delivery invoices. Every order produces a receipt email. Thin margins mean you can't afford to send follow-ups to people who never saw the first one.
How MailAnvil handles warmup for you
Warming up manually is tedious. MailAnvil does it automatically: new accounts start at 10 emails/day and ramp up over a week, so you never have to think about the schedule. Combined with edge delivery on Cloudflare Workers, your OTPs leave from the nearest point of presence — low latency, high deliverability.
The checklist before you send
- [ ] Domain verified and DKIM status "verified"
- [ ] SPF and DMARC records in place
- [ ] A real, monitored inbox behind the "from" address
- [ ] Bounce and complaint notifications routed somewhere you actually check
- [ ] Warmup schedule (or MailAnvil's automatic ramp) active
Deliverability is not a feature you bolt on after launch — it's the foundation. Warm the domain first, and your transactional email will do its job: arrive, in the inbox, on time.
Try MailAnvil free at mailanvil.com — 500 emails/month, automatic domain warmup, no credit card.