Keep every mailbox
landing in the inbox.
Each mailbox is warmed up, capped, and scored on its own. When one starts drifting toward spam, we slow it down or pull it from the pool before Gmail or Outlook notices.
A few decisions that shape the rest.
Deliverability decides whether the rest of the product matters, so we were opinionated about it early. Here is where we ended up differently from most of the category, and each one is a real choice in the code.
Throughput per server is the wrong thing to optimise for. What burns reputation is sending too much from one mailbox, domain, or IP. We keep each mailbox under its own cap and spread the work across many of them, so the risk never piles up in one place.
Warmup only helps if it is real. Every warmup message carries a signed token that we check when the reply comes back, so a mailbox cannot fake good behaviour by quietly replying to itself.
Once Google or SES throttles a domain, the damage has already gone out. We watch each mailbox on a rolling window and act on our own thresholds, which sit weeks earlier than the public ones.
A trial account should never warm up in the same loop as a paying one. If it picks up bad habits, that is its own problem to work off in recovery.
Everything rides on the mailbox.
A mailbox's reputation is its own, so that is where we attach the controls: the cap, the pacing, the warmup schedule, the health score, and the suppression list. The worker and the IP are just the machine it sends through, and we spread mailboxes across many of them so one rough day never drags down the rest.
SPF, DKIM, and DMARC have to resolve before the mailbox can send.
Opens at 10 a day, adds one a day, holds at 40.
50 a day, 600s apart, scored on a rolling 7 days.
Out of the pool it cools off, then requalifies before it sends again.
The most cold email this mailbox sends in a day.
At least ten minutes between any two sends.
Opens at 10, adds one a day, holds at 40.
A score built from spam, complaints, and bounces.
Re-checked daily, not just at setup.
One bounce or complaint stops every campaign.
A worker is one machine on one IP, and each dot is a mailbox it sends for. We keep them spread out so a problem on one machine never reaches the others.
The numbers we ship with.
These are set for a normal mailbox on a normal provider. Override any of them per mailbox if you have a real reason. The right column is why each one sits where it does.
The ceiling for cold email from one mailbox. You can raise it to 100, but only with a reason worth defending.
Ten minutes between sends, even when the queue is full. People do not fire off mail in bursts.
Where warmup begins. Low enough to read like a normal person sending mail.
Warmup stops climbing here. Pushing past it buys no extra reputation.
One more warmup message per day. Faster ramps look odd to the receiver.
If a mailbox pulls in more than 100 new messages in five minutes, the worker throttles it.
Past this we pause the mailbox ourselves, before the provider has to.
Three malformed warmup tokens in a day drop the mailbox from the pool.
How mailboxes stay separated.
There are two warmup pools, free and premium, and a mailbox does not move between them on its own. A trial warms up only with other trials. When a paid mailbox crosses a band it cools off in recovery before it touches healthy traffic again. Dedicated customers get their own worker and IP, and still warm up inside the premium pool.
Trial mailboxes only, held to the same thresholds as paid ones.
- Only warms up with other free-plan mailboxes.
- Never sends to a premium mailbox.
- Kept out of the premium health scoring.
Vetted paid mailboxes, with tighter bands and less room to drift.
- Only warms up with other healthy premium mailboxes.
- A mailbox that crosses a band drops to recovery and earns its way back.
- Spam placement and complaints are scored per mailbox over rolling windows.
Where a mailbox sits while it cools off after crossing a band. Healthy traffic never sees it.
- 7 days after a quarantine, 30 days after a hard block.
- Comes back at reduced volume for a few days, then gets re-scored.
- Authentication and bounce checks have to pass first.
Your own worker and IP. It still warms up inside the premium pool.
- One worker process and IP for one organisation.
- Reputation is still earned per mailbox.
- Same thresholds apply. Your own IP is not a free pass.
The bands, and when each fires.
We grade each mailbox on how often its mail lands in spam, over a rolling window. Our thresholds sit well to the left of where Google and SES start penalising senders, so a mailbox leaves the shared pool weeks before it would earn a public complaint.
Normal. Keeps warming up and stays in the pool.
Volume eases back and the gaps widen, more so as it climbs. Stays in the pool.
Out of the shared pool for 7 days. Cools off in recovery.
Blocked for 30 days. Cold sending pauses, and a person clears it before re-entry.
Long block and a full reputation reset. No automatic way back in.
Between 10% and 20% the slow-down comes in two steps, watch then throttled, and the mailbox stays in the pool. Past 20% it comes out. A band only fires once there is enough to judge: at least 20 warmup deliveries in the past 7 days for spam placement, at least 100 delivered messages in the past 30 days for complaints. For reference, Google asks senders to keep spam below 0.1% and never reach 0.3%, and SES holds complaints below 0.1% and bounces below 5%.
We check SPF, DKIM, DMARC, and PTR.
A mailbox cannot finish setup with broken authentication. We resolve every record live, show you exactly what to publish if something is missing, and re-check it daily once you are sending.
We read the domain SPF record and confirm both your mailbox provider and any third-party senders are allowed.
if it fails If it is missing or wrong, the mailbox cannot leave the connection wizard.
We find the provider DKIM selector, confirm the public key parses, and require at least 1024 bits.
if it fails A missing selector shows you the exact record to publish, ready to copy.
We read the policy, the alignment mode, and the reporting address, and flag p=none clearly.
if it fails Reports can point at a Warmbly inbox so they surface inside the dashboard.
For your own SMTP, we check the sending IP reverse DNS resolves back to the same hostname.
if it fails A mismatched PTR is one of the fastest ways into the spam folder.
When something goes wrong, we stop sending.
The quickest way to handle a bad signal is to stop adding to it. By default a bounce, a complaint, an unsubscribe, or a STOP reply takes the recipient off every campaign before the next send goes out.
- Workspace-wide. Every campaign skips a suppressed recipient on the next send.
- One-click unsubscribe handled the moment it is clicked, per RFC 8058.
- Replies like "stop" or "remove" are caught and suppressed on their own.
How to ramp a cold mailbox.
These are habits we have seen work, not guarantees. They line up with what the major receivers reward. Treat the default 50 / day cap as a ceiling to stay under.
Fresh or just connected. The first couple of weeks are for reputation; pipeline comes later.
Add a little each week while complaints and bounces stay clean. Back off the moment they climb.
The normal range for most cold mailboxes. The default cap sits at the top of it.
Going past 50 / day on one mailbox takes clean signals and a real reason first.
The whole safety policy, in one row.
Every number here is pulled straight from the code.
Per mailbox. Each one is scored and capped on its own, so a single account can hold five mailboxes in five different states at once.
Any of these: three bad warmup tokens in 24 hours, spam placement at or above 20% with at least 20 warmup deliveries in the last 7 days, a complaint rate at or above 0.10%, or a bounce rate at or above 5%.
Bounces, complaints, and unsubscribes are workspace-wide. Once someone is suppressed, every running campaign skips them on the next send, and nothing else ever queues to them.
Because 50 a day with a 600-second gap stays comfortably under provider scrutiny everywhere. You can raise it toward 100, but earn it mailbox by mailbox.
It leaves the shared pool, cold sending pauses, and it cools off in recovery: 7 days after a quarantine, 30 after a hard block. When the cooldown ends it comes back at reduced volume for a few days and has to re-pass the health checks before it sends normally again.
Most plans share IPs, which is fine here because we track reputation on the mailbox itself. Enterprise plans can take a dedicated worker and IP, but the same per-mailbox limits still apply.
Yes. Warmup runs alongside your cold sending to keep the mailbox active and conversational. Switching it off the day you go live is a good way to watch a mailbox go cold.
Plan on a few weeks. Warmup opens at 10 a day and adds one a day, so a fresh mailbox earns its way up to a normal cold volume instead of jumping straight there.
No, and be careful with anyone who does. Placement also depends on your content, your list quality, and your domain history. What we control is the sending itself: how fast and how much each mailbox sends, whether its authentication is clean, and pulling it the moment it starts to slip.
See where your mailbox really stands.
Connect one and get a full SPF, DKIM, DMARC, and PTR report, plus its current health, in a few minutes.