Skip to content
← BlogAIAnalysis5 min read

Running cold email from a spreadsheet and an SMTP relay? Here's what actually breaks

A spreadsheet and a generic SMTP relay can send an email. They can't warm up a domain, catch a reply, or tell you your sender reputation is dying. Here's the gap.

By David Lara, Founder

Founder-reviewed ·How we research and correct articles

A lot of cold email programs start the same way: a Google Sheet with names, company, email; a Google Workspace account or a generic transactional relay (Postmark, SES, plain SMTP) doing the actual sending; and a script or a mail merge add-on gluing the two together. It works. The first fifty emails go out, a few replies come back, and it feels like the hard part is solved.

It isn’t. The hard part was never getting an email to leave your outbox — any relay on earth can do that. The hard part is everything that has to happen after send one so that send two hundred still lands, and that’s exactly the part a spreadsheet and an SMTP relay have no opinion about.

Five-row comparison of a spreadsheet-and-SMTP-relay setup against Norbelys: domain warmup, reply detection, domain health signal, suppression enforcement, and pacing across mailboxes, each marked with a red X on the spreadsheet side and a check on the Norbelys side.

Both setups can send an email. Only one is watching what happens to your domain after it does.

What the spreadsheet-and-SMTP setup is actually good at

To be fair to it: this setup is cheap, it’s fast to stand up, and for a single small batch — fifty personal introductions to people you basically already know — it’s genuinely fine. There’s no reason to buy a platform to send twelve emails. The problem is scope creep: the same setup that was fine for fifty emails gets reused for five hundred, then five thousand, because it “already works,” and nobody budgeted time to notice it stopped actually working somewhere around email three hundred.

The four things nobody notices until it’s too late

No warmup engine. A brand-new mailbox, or one that’s been sitting quiet for months, doesn’t have a sending reputation yet — mailbox providers watch the first weeks of activity closely and decide how to treat everything after based on what they see. Send that spreadsheet’s full list on day one from a cold mailbox and the likely outcome isn’t a bounce, it’s silent inbox-to-spam routing: the message “sends” successfully, the relay reports success, and it never gets read. How warmup actually works and what a reasonable first-week ramp looks like are both worth reading before you send anything from a new address — a spreadsheet has no way to enforce either.

No reply detection. When someone replies “not interested, please stop,” that reply lands in a human inbox, and the only thing that removes them from the next campaign is a person noticing it, going back to the sheet, and deleting or flagging the row — before the next scheduled send fires. Miss that step once, on one person, on one busy afternoon, and you’ve sent a second message to someone who explicitly asked you to stop. That’s not just an annoyed prospect; under CAN-SPAM and GDPR that’s a genuine compliance exposure, not a hypothetical one.

No domain health tracking. A rising bounce rate or spam-complaint rate is the earliest warning sign that a mailbox is in trouble — and it’s invisible from inside a spreadsheet. Nothing in “send this CSV through this relay” surfaces a bounce-rate trend or a complaint-rate creeping past the threshold mailbox providers actually enforce. The first sign something’s wrong is usually the softest possible signal: replies just… stop coming in. By the time that’s obvious, the domain has likely already been downgraded by Gmail or Outlook’s filters, and recovering it takes longer than avoiding the problem would have.

No suppression enforcement. Every opt-out, every bounce, every person who should never be emailed again needs to live in exactly one place that every future send checks automatically. In a spreadsheet, “one place” is really “however many tabs and campaigns someone remembered to update” — and suppression lists that live in someone’s memory instead of the sending system are the single most common way small operations end up re-emailing people who already said no.

The tax you’re actually paying

Add it up and the spreadsheet setup isn’t free — it just moves the cost from a subscription line to a labor line. Someone has to manually track bounces and paste them into a suppression tab. Someone has to check eight different reply inboxes if you’re running eight mailboxes. Someone has to remember there’s a warmup ramp at all, and manually throttle sends for the first few weeks on a new domain instead of just clicking “launch.” None of that shows up on an invoice, but it’s real hours, every week, for as long as the program runs — and it scales linearly with every mailbox and every list you add, because there’s no system underneath doing it for you.

What Norbelys replaces, specifically

Every one of those four gaps is a shipped feature, not a roadmap item: warmup runs automatically on every connected mailbox with a ramp that adjusts to what’s actually happening with that address, not a fixed guess. Replies get matched to the message they’re answering and stop that person’s sequence automatically through reply management — no one has to notice and edit a row. Domain health is a live number, not something you infer from silence. And suppression is one list per account, checked before every single send, whether that send is campaign one or campaign fifty.

The honest pitch isn’t “software is better than a spreadsheet” in the abstract — it’s that the four things a spreadsheet can’t do are exactly the four things that determine whether your domain is still deliverable in month two. See what’s included on every plan, starting at Starter, and check the pricing before you send your next batch through a setup that has no idea what happened to the last one.