Sending is the easy part
of cold email.
A cold email tool gives you a mailbox and a merge. Outbound that books meetings needs the rest: a list you can trust, verification that blocks the send, suppression that remembers everyone you have ever emailed, bounces and replies caught and routed, and send windows that respect the recipient's day. We built all of it into our own platform, and our cold email work runs on it. Below: what 551,802 B2B address checks showed, what broke, and the checklist to hold any tool or agency against.
This is our own software, not client work, and there are no sending, reply or meeting figures on it. The verification figures are real: every address check the platform ran between 15 April and 23 September 2026. Below them is the 25-point checklist we hold any cold email setup against, including our own.
- Subject
- Our own outbound platform
- Stack
- FastAPI, MongoDB, React
- Verification
- Self-hosted, at send time
- Lead vault
- 4.37 million B2B contacts
- Live since
- 2026
What a B2B list
really contains.
Every address our platform checked before sending, grouped by the verifier's answer, and what the platform does with each one.
| Verdict | Share | What the platform does |
|---|---|---|
| Safe | 57.0% | Sent |
| Risky (99.7% of these are catch-all domains) | 34.8% | Held back, never sent blind, never deleted |
| Unknown | 4.5% | Held back and retried later |
| Invalid: the mailbox does not exist | 3.7% | Blocked, and suppressed across every campaign |
Between 15 April and 23 September 2026 the platform ran 563,519 address checks across 144 verification jobs. The verifier is self-hosted: it asks each recipient's mail server whether the mailbox exists, without sending anything. We left out 11,717 checks that failed on our side, from network or verifier errors, because they say nothing about the address. That leaves 551,802 checks with a real answer. The lists are B2B and lean toward technology companies, so read this as one real sample, not a law.
The short version: buy or scrape 10,000 B2B contacts and expect roughly 5,700 you can email with confidence. About 3,500 will sit on catch-all domains, where the server accepts every address, so no verifier can tell a real inbox from a typo. A few hundred will not exist at all. A tool that sends to the whole list sends to every one of them, and most deliverability guidance treats a hard-bounce rate above 2% as a warning sign.
And a list verified once goes stale. When we re-checked our own recent bounces, 13 of 18 came back invalid, and every one had passed verification weeks earlier, somewhere between the check and the send. So the platform now verifies each campaign in batches just before sending, which keeps results hours old rather than months.
A tool sends the email.
Someone still does the rest.
Seven jobs sit behind every cold email campaign. Buying a tool covers one of them. The rest are yours, or ours.
A cold email tool is one of those seven jobs. The other six are where do-it-yourself outbound goes wrong.
The cold email setup
checklist.
Hold any tool, agency or in-house setup against this, ours included. Every item is part of how we run outbound today. Most setups built around a single tool are missing half of it, and each gap costs deliverability or replies before anyone notices.
Domains and mailboxes
- Separate sending domains, never your main business domain
- SPF, DKIM and DMARC on every sending domain
- MX records on every sending domain, so replies and bounces have somewhere to land
- A domain health check that reads SPF, DKIM, DMARC and MX together
- Warmup before volume
The list
- An ideal customer profile written down before a single contact is sourced
- Contacts segmented by industry and technology, not only by job title
- Every address verified in the hours before it sends, not when the list was bought
- Catch-all and unknown addresses held back, never sent blind
- Text encoding repaired at import, so no broken characters reach a subject line
Suppression
- One suppression list shared by every campaign, kept for good
- Invalid addresses suppressed automatically
- A one-click unsubscribe header on every email, honored instantly
- An unsubscribe or bounce in one campaign stops every other campaign
Sending
- Send windows enforced in the target time zone, not the server's
- Follow-up steps that stop the moment someone replies
- Plain-text by default, with open tracking only if you choose it
- One send per lead per step, enforced by the database
Replies and bounces
- Bounces captured for every mailbox, even when the provider mails them elsewhere
- Every reply threaded back to the campaign and lead that caused it
- Auto-replies, out-of-office and unsubscribes filtered by rules; human replies go to a person
- Replies that match no campaign kept for review, never dropped
Reporting
- Campaign figures read from the send log, not a tool's dashboard
- Judged on replies and meetings, not opens
- Bounces and suppressions visible for every campaign
Cold email setup checklist · NCMborz · ncmborz.com/build-note-cold-email-platform.html
Five failures that
raise no error.
Each of these happened on our own platform. Each one looked like a copy or targeting problem until someone went looking. They are why the checklist exists.
The verification that went stale
A verified list is only verified on the day it is checked. People change jobs and companies close mailboxes, and a check that passed in spring says little about autumn. When we re-checked our own recent bounces, 13 of 18 came back invalid, and every one had been sent as verified.
Nothing flagged it at the time. The address had passed, so it was sent, and the bounce arrived as if the list had never been checked at all.
The sending domains that could not receive a reply
The mail-receiving (MX) records were removed from the domains we send cold email from. The emails had already gone out, so nothing looked wrong. But any reply sent to those domains afterwards had nowhere to land.
It is the quietest failure in outbound: the campaign reports sends, no replies, and a person concludes the copy is weak. The copy was never the problem.
The bounces that went to the wrong inbox
Our sending relay mails bounce reports to the account's own address, not to the mailbox that sent the email. So the sending mailbox never saw a bounce, and campaigns reported zero.
A zero bounce rate looks like a clean list. It meant the bounces were sitting unread in another inbox, and the dead addresses were never suppressed.
The broken characters in live subject lines
Lead data exported from other tools had been saved in the wrong text encoding, so a company name with a trademark sign arrived as a string of garbage characters. The company name is a merge field, so the garbage went straight into subject lines that prospects read.
No tool flags this. The data imports cleanly and the email sends; it simply looks careless to the one person you wanted to impress.
The send window in the wrong time zone
A campaign set to send at 5 PM was stored in UTC while its owner worked in India, so it went out at 10:30 at night, local time. The settings screen showed the right time zone, because the stored value was not one of its options and it silently displayed the first one.
A window that is shown but not enforced is worse than none, because everyone believes it is working.
When a tool is the right answer
If someone on your team will own the domains, the list, the verification and the replies every single week, buy a tool and work through the checklist above. You will spend less. Done-for-you earns its fee when nobody has that week to give, when outbound has already burned a domain, or when you need meetings next quarter rather than a system to learn. Either way, start with the checklist.
What people ask before
starting cold email.
Should I buy a cold email tool or hire a done-for-you service?
Buy a tool if someone on your team will own the whole job every week: domains, warmup, list sourcing, verification, suppression, bounces and replies. A tool handles the sending and leaves the rest to that person. Hire a done-for-you service if nobody has that time, if outbound has already burned a domain, or if you need meetings soon rather than a system to learn. The checklist on this page is the fair test for either choice.
What should a cold email setup include beyond the sending tool?
Separate sending domains with SPF, DKIM, DMARC and MX records, warmup before volume, a list verified in the hours before it sends, one suppression list shared by every campaign, bounces and replies caught and matched back to the campaign, follow-ups that stop on a reply, and send windows in the recipient's time zone. Most setups built around a single tool are missing at least half of that.
What percentage of B2B email addresses are invalid or catch-all?
In 551,802 B2B address checks our platform ran between April and September 2026, 57.0% came back safe to send, 34.8% risky (almost all catch-all domains that accept any address), 4.5% unknown, and 3.7% did not exist. So a little over four in ten addresses on a typical B2B list are ones a careful sender should not email blind.
Should I send cold email to catch-all addresses?
Not blind. A catch-all domain accepts mail for any address, so a verifier cannot tell a real person from a guessed one, and those guesses are where hidden bounces come from. Our platform holds catch-all addresses back rather than sending to them or deleting them. If you do send to them, do it in small batches from a domain you can afford to lose, and watch the bounces.
Why verify email addresses right before sending?
Because lists decay. People change jobs and mailboxes are closed, so an address that passed verification when the list was bought can be dead weeks later. When we re-checked our own recent bounces, 13 of 18 came back invalid, and every one had passed verification earlier. Checking each batch just before it sends catches those while they are still cheap.
Do I need separate domains and mailboxes for cold email?
Yes. Cold email carries risk to a domain's reputation, and your main domain carries your invoices, your customer mail and your team's inboxes. Send from separate domains that look like yours, each with SPF, DKIM, DMARC and MX records, warmed up before volume, and spread sending across a small number of mailboxes per domain.
How much does done-for-you cold email cost?
Ours runs $500-$2,000 a month for most engagements, with entry plans from $500 a month, month-to-month and no setup fee. That covers the domains, list sourcing, verification, sequences and reply handling on the platform described here. The comparison with doing it yourself and with larger agencies is on our cold email service page.
Is B2B cold email legal?
Sending cold email to business addresses is lawful in the US and the UK when the email identifies the sender, targets people in a work capacity, and honors opt-outs promptly, which is why every email our platform sends carries a one-click unsubscribe. Cold emailing consumers is a different matter and is not something we do. Rules differ by country, so confirm your own position before you send.
Who is done-for-you cold email not right for?
We are not the right fit if you sell to consumers rather than businesses, if you do not yet have a clear offer a buyer can say yes to, or if you need a flood of meetings next week. Cold email done properly is a steady, well-targeted channel, and we will say so on the call if it is not the right one for you.
This platform is our own software, not client work, and there are no sending, reply or meeting figures on this page. The verification figures cover every address check the platform ran from 15 April to 23 September 2026; checks that failed on our side were excluded. The bounce re-check and the vault count were read from the platform's database. We are happy to screen-share the platform and walk through any of it on a call.
Check your outbound before you scale it.
Running a cold email tool, weighing an agency, or starting from zero? Bring your setup. We will go through the checklist on this page against it and tell you what is missing, whether or not you hire us.