Cold email infrastructure: the complete setup checklist (and what to automate)
The cold email infrastructure checklist: domains, redirects, inboxes, SPF/DKIM/DMARC, tracking, warm-up, rotation, monitoring, and which steps to automate.

- Never cold email from your main domain. Buy secondary domains, redirect them to your site, and put 5 inboxes on each Google or SMTP domain, or up to 100 on an Outlook tenant domain.
- Every sending domain needs SPF, DKIM, DMARC (start at
p=none), working MX and a custom tracking domain before the first send. - Warm-up and caps depend on inbox type. From our 2026 Q3 inbox-types data: Google warms 15–25 days then sends 15–20 cold/day, Outlook Premium 3–5 days minimum (ideally 10–14) then 8–10/day, Outlook Normal 5–7 days then 3–5/day, private SMTP 3–4 weeks then 11–14/day.
- Rotate across inboxes, send inside the recipient's business hours, and verify every list before it goes out.
- Test placement per domain and watch health daily. When a domain slips, pause it, move its volume and warm it back up.
Cold email copy gets all the attention. Infrastructure is where campaigns actually die. One missing DKIM record, one inbox sending 200 a day, one unverified list, and a domain you paid for and warmed for three weeks lands in spam.
The work itself isn't hard. It's just a lot of small steps across a registrar, a DNS host, an inbox provider, a warm-up tool and a spreadsheet, and every one of them has to stay right for months. Here is the full checklist in the order an operator does it, what each step costs you in time, what goes wrong, and which parts you can hand off.
The checklist at a glance
- Buy secondary domains
- Redirect them to your main site
- Choose an inbox provider: Google Workspace, Microsoft 365 or SMTP
- Create inboxes on each domain
- Publish SPF, DKIM and DMARC
- Set up a custom tracking domain
- Confirm MX records
- Warm up every inbox
- Set sending limits and a ramp
- Rotate across inboxes
- Send in time-zone windows
- Verify every list
- Test placement and monitor daily
- Have a plan for when a domain slips
The time estimates below are rough, for one Google domain with five inboxes, done by someone who has done it before. Multiply by your domain count. That multiplication is the real problem.
| Step | Time by hand (per domain) | What goes wrong | In Zylar |
|---|---|---|---|
| Buy domains | 5–10 min | Spammy names, odd TLDs, too few domains | Your job |
| Redirect to main site | 5–10 min | Redirect left off, so the domain looks abandoned | Your job |
| Choose inbox provider | One-off decision | All inboxes on one provider | Your job (inboxes available via the Maildeck add-on) |
| Create inboxes | 10–20 min | Wrong count per domain for the provider, no names or photos | Your job, or Maildeck add-on |
| SPF, DKIM, DMARC | 15–30 min | Typos, duplicate SPF records, DKIM never enabled | Checked on connect, with the exact record to paste |
| Custom tracking domain | 10 min | Shared tracking domain drags you down | Checked on connect |
| MX | 5 min | No MX, so replies bounce | Checked on connect |
| Warm-up | Days (Outlook) to weeks (Google, SMTP) of elapsed time | Stopped too early, counted against sends | Automated, free, never counts toward sends |
| Limits and ramp | Ongoing | One inbox blasting while others sit idle | Automated daily caps and random gaps |
| Rotation | Ongoing | Manual round-robin breaks when inboxes are added | Automated |
| Time-zone windows | Per campaign | 3 a.m. sends | Automated |
| List verification | Per list | Bounces burn domains | Bundled credits via EmailShield; the list itself is your job |
| Placement and monitoring | Daily | Nobody notices until replies stop | Automated: Gmail and Outlook placement tests per domain, daily health score per inbox |
| Domain slips | Hours per incident | Keeps sending while it burns | Auto-pause, volume moves to healthy domains, back on warm-up |
Step 1: Buy secondary domains (and how many)
Your main domain carries your website, your invoices and your team's day-to-day email. Don't risk it on cold outreach. Buy separate domains that are clearly yours.
- Naming. Keep the brand recognizable:
getacme.com,acmehq.com,tryacme.com,acme-team.com. Avoid anything that looks like a throwaway or contains words like "mail", "outreach" or "promo". - TLDs. Stick to
.comwhere you can, then well-known alternatives your buyers recognize. Cheap novelty TLDs save a few dollars and look like spam to people and filters alike. That's an operator opinion, not a published rule, but it's widely held. - How many. Work backwards from volume. The short version: monthly emails divided by sending days divided by the per-inbox cap for your inbox type gives you inboxes, then divide by inboxes per domain (5 for Google and SMTP, 100 for an Outlook tenant) and add a buffer. The full formula with worked examples is in how many domains and inboxes you need.
Buy more than you need on day one. You'll want spares warming in the background for when a domain slips.
Step 2: Redirect every domain to your main site
Anyone who gets your email and types the domain into a browser should land on your real website. Set a 301 redirect at the registrar or DNS host. A domain that resolves to a parking page or nothing at all looks abandoned, and prospects do check.
This takes minutes per domain and is easy to forget on domain 37 of 60. Keep it on your checklist.
Step 3: Choose Google Workspace, Microsoft 365 or SMTP
There's no single right answer. Here's how operators usually think about it:
| Option | Strengths | Watch out for |
|---|---|---|
| Google Workspace | Familiar, reliable, strong deliverability to Gmail recipients | Per-user pricing adds up fast at scale |
| Microsoft 365 | Often lands better with Outlook-heavy B2B audiences | Admin is fiddlier; tenant-level outbound limits apply |
| SMTP / other providers | Cheaper per inbox, flexible | Quality varies a lot by provider; vet carefully |
Don't pick just one. Google for quality, Outlook for volume, SMTP as a buffer. The stack we recommend at 100k sends a month is roughly 50% Outlook Premium, 30% private SMTP and 20% Google, so one provider having a bad week doesn't take you offline. The costs are in the cold email cost breakdown and the inbox math in how many inboxes you need. Both Google and Microsoft publish daily sending limits far above anything you should send cold. The numbers and the reasons cold caps sit lower are in the inbox sizing guide.
Step 4: Create inboxes on each domain
How many inboxes go on a domain depends on the provider. In our operating data across these four inbox types, Google Workspace and private SMTP run 5 inboxes per domain. Outlook Premium and Normal run on an Azure tenant with 100 inboxes per domain, each sending at a much lower daily rate.
Make each inbox a real-looking sender: a first and last name, a profile photo, a signature. Cold email that comes from sales@ or info@ underperforms, and an inbox with no name looks automated because it is.
If you'd rather not set up inboxes provider by provider, see the inbox options.
Step 5: Publish SPF, DKIM and DMARC
This is the step people rush, and the one that quietly costs the most.
- SPF (RFC 7208) lists which servers may send for the domain. Publish exactly one SPF record per domain and stay under the 10 DNS lookup limit the RFC sets.
- DKIM (RFC 6376) signs your mail. With Google and Microsoft, you generate the key in the admin console and publish it. Publishing the record isn't enough; you also have to turn signing on.
- DMARC (RFC 7489) tells receivers what to do when SPF or DKIM fail alignment. Start at
p=nonewith a reporting address, then tighten once reports look clean.
Google's email sender guidelines require SPF, DKIM and DMARC for anyone sending 5,000+ messages a day to Gmail accounts, and say the DMARC policy can be set to none. Treat that as the minimum for every cold domain regardless of volume. The full walkthrough is in SPF, DKIM and DMARC for cold email, and the provider rules are summarized in Gmail, Yahoo and Microsoft bulk sender rules.
You can check any domain right now with the free SPF/DKIM/DMARC checker. In Zylar, these records are checked the moment a domain is connected, and you get told exactly what to fix plus the record to paste. You still paste it into your DNS host.
Step 6: Set up a custom tracking domain
If you track opens or clicks, your links get rewritten through a tracking domain. Shared tracking domains are used by many senders at once, and their reputation isn't yours to control. Point a CNAME on a subdomain of each sending domain (for example track.getacme.com) at your sequencer's tracking host.
Plenty of operators turn open tracking off entirely for cold email, and on Outlook inboxes you shouldn't use it at all (why). If you do track, make the domain your own.
Step 7: Confirm MX records
Cold email works because people reply. If the domain has no MX record, or one pointing at the wrong provider, replies bounce and you never see them. MX also signals the domain is a real, working mail domain. Check it once after setup and again after any DNS change.
Step 8: Warm up every inbox
A brand-new inbox has no history. Warm-up builds it by exchanging mail with other inboxes that open, reply and rescue messages from spam, on a gradually rising schedule.
What holds up:
- Warm up for the minimum your inbox type needs before the first cold send: 15 days on Google (ideally 20–25), 3–5 days on Outlook Premium and 5–7 on Outlook Normal (ideally 10–14 for both), and 3–4 weeks on private SMTP.
- Keep warm-up running after you start sending. Don't switch it off once campaigns are live.
- Warm-up sends should not eat into your cold sending allowance.
In Zylar, warm-up runs on a private pool of real inboxes with opens, replies and "not spam" marks on a ramp schedule. It's free on every plan and never counts toward sends. More detail is in the email warm-up guide.
Step 9: Set sending limits and a ramp
There's no single per-inbox number. The right cap depends on the inbox type. From our 2026 Q3 inbox-types data:
| Inbox type | Cold sends per inbox per day | Inboxes per domain | Sends per domain per day |
|---|---|---|---|
| Google Workspace | 15–20 | 5 | ~100 |
| Outlook Premium | 8–10 | 100 | ~900 |
| Outlook Normal | 3–5 | 100 | ~400 |
| Private SMTP | 11–14 | 5 | ~65 |
Start at the low end of the range. Add a small daily increase rather than jumping straight to your target. When you need more volume, add inboxes and domains, not sends per inbox.
Space sends out. Twenty emails fired in the same minute look nothing like a person. Random gaps between sends matter as much as the daily cap.
Step 10: Rotate across inboxes
Rotation spreads a campaign across many inboxes so no single sender carries the load. Doing it by hand means splitting lists into chunks and assigning them, then redoing it every time you add, pause or retire an inbox. That's the point where spreadsheets break.
Step 11: Send in the recipient's time zone
An email that arrives at 3 a.m. gets buried under everything that arrives before 9. Group recipients by time zone and send inside their working hours. This is easy for one region and painful for a global list unless your sequencer handles it.
Step 12: Verify every list before it goes out
Bounces are one of the fastest ways to damage a new domain. Verify every list before upload, and re-verify anything older than a few weeks. Remove role addresses you don't actually want to reach, and treat catch-all addresses with care.
Know where you land before you hit sendPlacement tests per domain, daily health scores and auto-pause.How it worksStep 13: Test placement and monitor daily
Open rates are not a placement test. Send test messages from each domain to seed inboxes at the providers your prospects use and see whether they land in the inbox, the promotions tab or spam. Do it per domain, because domains drift independently.
Watch the signals that move first: bounce rate, reply rate trends and spam placement. Google's sender guidelines say to keep the spam rate reported in Postmaster Tools below 0.10% and never reach 0.30%.
If your tooling only tests some providers, add your own seed tests for the rest of your audience.
Step 14: When a domain slips, pause it, shift volume and recover
Every operator burns a domain eventually. What matters is how fast you notice and what happens next.
- Stop cold sends from that domain immediately.
- Move its share of volume to healthy domains, without pushing them over their caps. This is why you keep reserve capacity.
- Put the domain back on warm-up only.
- Find the cause: a bad list, a copy change, a DNS record that broke.
- Bring it back slowly once placement recovers, or retire it.
In Zylar, when placement drops below your threshold, the domain auto-pauses, its volume moves to healthy domains, and it goes back on warm-up until it recovers. Replacing a domain that never recovers is still your job. The full recovery playbook is in burned domain recovery, and for Outlook-specific problems see why cold email lands in Outlook junk.
What you should automate, and what stays yours
Automate anything that has to be checked every day across every domain: rotation, caps, warm-up, placement tests, health monitoring and auto-pausing. Humans are bad at doing the same check on 90 domains every morning.
Keep ownership of the decisions: which domains to buy, which provider to use, who you email and what you say. No tool picks a good list or a good offer for you. Zylar was built by cold emailers to take the repetitive infrastructure work off your plate, not the judgment. See how the layers fit together on the deliverability page.
FAQ
How long does it take to set up cold email infrastructure from scratch?
The hands-on work is a few hours for a handful of domains, more for dozens. The elapsed time is mostly warm-up, and it depends on the inbox type. Outlook tenants take 2–3 days to set up and can send after 3–5 days of warm-up (ideally 10–14). Google needs 15–25 days. Private SMTP needs 3–4 weeks or more.
Can I send cold email from my main domain?
You can, but you shouldn't. If it gets flagged, your invoices, support replies and team email suffer too. Secondary domains that redirect to your main site keep that risk contained.
How many inboxes should I put on one domain?
It depends on the provider. From our 2026 Q3 inbox-types data, Google Workspace and private SMTP run 5 inboxes per domain, while an Outlook tenant domain carries 100 inboxes at a lower per-inbox rate (8–10 cold sends a day on Premium, 3–5 on Normal).
Do I need a custom tracking domain if I don't track opens?
If you don't rewrite links or add a tracking pixel, there's nothing to route through a tracking domain. If you track anything, use your own tracking domain rather than a shared one.
Does Zylar buy domains or set up DNS for me?
No. Buying domains and publishing DNS records is your job. Zylar checks SPF, DKIM, DMARC, the tracking domain and MX the moment you connect a domain, and tells you exactly what to fix with the record to paste. Inboxes are available through the Maildeck add-on.
What should I do first when a domain's placement drops?
Stop cold sends from it, move its volume to healthy domains and put it back on warm-up. Then find the cause before you bring it back.


