Cold Email Infrastructure: A B2B Setup Guide
How to plan sending domains, mailboxes, authentication and sending queues so B2B outreach reaches the inbox.

Plan cold email infrastructure that scales: sending domains, inbox rotation, authentication and queue design that protect deliverability. See how it works.
Most outbound programmes that stall do not fail because of copy. They fail because the sending setup underneath them was never designed for volume. Cold email infrastructure is the layer that decides whether your messages reach the inbox at all: the domains you send from, the mailboxes on those domains, the DNS records that prove you are who you say you are, and the queue that controls how fast and when each mailbox sends. This guide walks through how we plan and build that layer for B2B teams, with a worked example you can adapt.
What cold email infrastructure actually includes
When we scope a build, we break it into five parts. Each one can quietly undermine the others if it is skipped.
- Sending domains: Separate domains used only for outreach, so your primary brand domain is never exposed to cold-sending risk.
- Mailboxes: Real Google Workspace or Microsoft 365 inboxes on those domains, each with a named sender and a signature.
- Authentication: SPF, DKIM and DMARC records on every sending domain, plus a custom tracking domain if you track clicks.
- Sending logic: A sequencer or custom queue that enforces per-mailbox limits, sending windows and pauses.
- Monitoring: Bounce and reply tracking, DMARC reports, blocklist checks and reputation dashboards.
The goal is not to send more email. It is to send a predictable, modest amount from many healthy mailboxes, so that no single mailbox or domain carries enough risk to sink the campaign.
Step 1: Plan domains and mailboxes from your target volume
Start with the number of cold emails you want to send per working day, then work backwards. We use conservative planning assumptions rather than pushing each mailbox to its limit, because a mailbox that sends a little less is far cheaper than a domain that gets burned.
Our usual starting assumptions are:
- around 30 cold emails per mailbox per day once warm-up is complete
- two or three mailboxes per sending domain
- 15 to 20 percent spare capacity, so you can rest a domain without missing targets
These are planning numbers, not rules. Your provider, audience and reply rates will move them.
Worked example: sizing a 600-per-day programme
The following is an illustrative plan for a team that wants 600 new cold emails per working day.
ItemCalculationResultDaily targetGiven600 emailsMailboxes needed600 ÷ 30 per mailbox20 mailboxesSpare capacity20 × 1.2, rounded up24 mailboxesDomains needed24 ÷ 3 mailboxes per domain8 domainsWarm-up before full volumeGradual ramp per mailbox2 to 4 weeks
Choose domains that are clearly related to your brand (for example getacme.co or acmehq.com for a company called Acme) and redirect each one to your main website. A prospect who types the domain into a browser should land on your real site, not a parked page.
Step 2: Set up authentication on every sending domain
Mailbox providers decide whether to trust a message largely by checking whether the domain authorised it. Google's email sender guidelines require authentication for all senders and set stricter rules for high-volume senders, and Yahoo publishes similar sender best practices. Treat these as the minimum.
Sample DNS records for one sending domain
Here is an illustrative zone for getacme.co using Google Workspace. Replace the DKIM value with the key generated in your admin console, and use your own reporting address.
; MX records: use the values your provider gives you getacme.co. MX 1 smtp.google.com. ; SPF: one record only, listing every service allowed to send getacme.co. TXT "v=spf1 include:_spf.google.com ~all" ; DKIM: generated in Google Admin (Apps > Google Workspace > Gmail > Authenticate email) google._domainkey.getacme.co. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq...IDAQAB" ; DMARC: start in monitoring mode, then tighten _dmarc.getacme.co. TXT "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r" ; Custom tracking domain for click tracking (value depends on your sequencer) track.getacme.co. CNAME your-sequencer-tracking-host.example.
A few rules we follow on every build:
- Only one SPF record per domain: Two SPF records break authentication. SPF also has a limit of 10 DNS lookups, defined in RFC 7208, so do not stack includes for tools you no longer use.
- Turn DKIM signing on after publishing the key: Publishing the TXT record alone is not enough; you have to start signing in the admin console.
- Move DMARC from p=none to p=quarantine once the aggregate reports show that every legitimate source passes. The DMARC specification is RFC 7489.
- Use a custom tracking domain if you track clicks. Shared tracking domains carry other senders' reputations.
For a fuller walkthrough of each record, including BIMI, see our step-by-step guide to SPF, DKIM, DMARC and BIMI records.
Step 3: Warm up mailboxes before any cold sending
A new mailbox has no history, and mailbox providers are cautious with senders they do not know. Warm-up builds that history gradually. In practice that means:
- starting with a small number of messages per day and increasing slowly over two to four weeks
- generating genuine engagement: replies, conversations, messages moved out of spam
- keeping warm-up running at a low level even after cold sending starts
Do not rush this step to hit a launch date. If a domain is pushed too hard in its first weeks, recovering its reputation usually takes longer than the warm-up would have. If you are already seeing poor placement, our guide on why cold emails land in spam and how multi-domain warming restores inbox placement covers recovery in detail.
Step 4: Design the sending queue
Whether you use an off-the-shelf sequencer or a custom-built queue, the logic should enforce the same guardrails. This is where cold email infrastructure moves from DNS settings into software design.
Guardrails every queue needs
- Per-mailbox daily caps: Never let one mailbox exceed its planned volume, even if others are paused.
- Randomised spacing: Send at irregular intervals rather than in bursts at the top of the hour.
- Recipient-timezone windows: Deliver during the recipient's working morning, not the sender's.
- A shared suppression list: Unsubscribes, bounces and "not interested" replies must block that address across every mailbox and domain, not just the one that received the reply.
- Automatic pauses: If a mailbox's bounce rate jumps or replies flag spam placement, pause it and alert someone.
A simple queue rule in pseudocode
def pick_mailbox(mailboxes, now):
eligible = [
m for m in mailboxes
if m.status == "active"
and m.sent_today < m.daily_cap
and m.bounce_rate_7d < m.bounce_pause_threshold
]
if not eligible:
return None # wait; never overflow onto an unhealthy mailbox
# Spread load: choose the mailbox with the most remaining headroom
return max(eligible, key=lambda m: m.daily_cap - m.sent_today)
def can_send(recipient, now):
local = now.astimezone(recipient.timezone)
in_window = local.weekday() < 5 and 9 <= local.hour < 12
return in_window and not suppression_list.contains(recipient.email)
The thresholds belong in configuration, not in code, so that operations staff can tighten them without a deployment.
Step 5: Monitor reputation and act early
Infrastructure is not a one-time setup. Once it is live, watch a small set of signals each week:
- Bounce rate per mailbox and domain: Verify lists before sending; a rising bounce rate is usually the first warning sign.
- Reply sentiment and spam complaints: Complaints damage reputation faster than anything else.
- Domain reputation in Google Postmaster Tools, which reports how Gmail sees your sending domains once volume is high enough.
- DMARC aggregate reports, to catch services sending on your behalf without authentication.
- Blocklist status for each sending domain.
When a domain's signals worsen, rest it, reduce volume on its mailboxes and investigate the list and content that went out before the drop.
Common mistakes we see
- Sending cold email from the main company domain.
- Buying many domains but skipping DMARC on most of them.
- Running warm-up for a few days and then jumping to full volume.
- Keeping a separate suppression list in each tool, so an unsubscribed prospect is contacted again from another mailbox.
- Using link shorteners or heavy HTML templates in first-touch emails.
Frequently Asked Questions
How many domains do we need for cold email?
Work back from your daily target. Divide it by a conservative per-mailbox volume, add spare capacity, and divide by two or three mailboxes per domain. For the 600-per-day example above, that came to eight domains.
Can we use our main domain for cold outreach?
We advise against it. Your primary domain carries your invoices, support email and internal communication. If cold sending damages its reputation, all of that email is affected. Separate sending domains contain the risk.
How long does it take before we can start sending?
Domain and DNS setup can be done in days, but mailboxes need two to four weeks of warm-up before reaching full planned volume. Plan the launch date around warm-up, not the other way round.
Do we need a custom queue, or is a sequencer enough?
Many teams start with a sequencer. A custom queue makes sense when you need shared suppression across tools, recipient-timezone scheduling, CRM-driven triggers or automatic pausing rules the sequencer does not support.
Get a second pair of eyes on your setup
If you want cold email infrastructure designed around your volume targets, we can review your domains, DNS and sending logic and plan the build with you. Our cold outreach and deliverability service covers the setup end to end, and you can talk to our team about your outbound setup whenever you are ready.
About the Author
- Manav Sharma is the founder of Insyrge and a CRM solutions architect. He works across Zoho, Salesforce, HubSpot, Odoo and more, designing the CRM setups, integrations and automations that keep sales and operations teams working from the same data.
Need Help Implementing This in Your Business?
Our certified Zoho consultants and automation experts can help you design and deploy custom workflows tailored to your operations.
Book Free Consultation