mailbox warmupsend limitsdeliverability

How warmup and campaigns share one send budget

Why mailbox warmup and campaign email should use one enforceable daily budget instead of two counters that can overbook a mailbox.

Terlido team4 min read

Mailbox warmup and campaign email use the same sender. Treating them as separate systems can make both look safe while their combined traffic exceeds the intended daily boundary. One mailbox needs one enforceable budget, even when several kinds of work compete for it.

Two counters can overbook one mailbox

Imagine a mailbox with a daily boundary. A warmup process sees its allowance, while a campaign process sees another. Neither counter knows what the other has reserved. The problem is not the arithmetic inside either process. Both are spending from the same resource without a shared ledger.

A shared budget gives every sending path the same answer. Warmup can reserve capacity first, campaign work can use what remains, and both stop when the boundary is reached. The order can be adjusted by product policy, but the total cannot exceed the mailbox's current allowance.

Terlido keeps warmup and campaigns on one send budget. Both paths meet the same mailbox and domain gates before a send is claimed. The warmup overview shows where this fits in the product without treating warmup as a separate source of unlimited capacity.

Authentication and recent results still matter

A shared number does not replace deliverability checks. SPF, DKIM, and DMARC status, mailbox age, recent bounces, and recent replies can affect what the system should allow. A boundary should become more conservative when relevant signals are missing or deteriorate.

The budget is therefore an output of current policy, not a permanent entitlement. The system can calculate today's allowance, reserve against it, and keep the inputs that justified the decision. Tomorrow's allowance can differ without rewriting yesterday's audit record.

Authentication checks also need honest states. Unknown is not the same as passing. If a check cannot be completed, the product should show that uncertainty rather than converting it into a positive result. The public deliverability overview describes the controls Terlido exposes around these checks.

Reserve capacity when work is claimed

The reliable place to spend capacity is the same transaction that claims the work. A dashboard estimate helps with planning, but it cannot prevent two workers from taking the final slot at the same time. The send boundary must make that decision once and leave a durable result.

This matters even on a single server. Background work can overlap, retries can arrive close together, and a user action can race a scheduled task. Reading the remaining count and updating it later creates a gap where both callers believe capacity is available.

A claim should either reserve a slot and return the work, or return no work. If the worker fails after a claim, retry rules need to distinguish an unsent reservation from a completed send. Silently adding capacity back can overbook the mailbox; never releasing provably unused capacity can stall it.

Make the operator view match enforcement

Operators should see the same budget the worker uses. If the interface shows a campaign limit but hides warmup reservations, the remaining number will look wrong. Display the total boundary, what has been reserved by each path, and why new work is waiting.

A shared view also makes pausing easier to understand. Pausing campaign work should stop new campaign claims while leaving the mailbox boundary intact. Disabling the mailbox should stop both warmup and campaign claims. These are different controls and should not be represented by one ambiguous switch.

Check the boundary before enabling sends

Start by confirming that every send path calls the same reservation service. Test the last available slot with competing claims. Verify that one wins and the other waits. Then check that a pause prevents new claims and that a disabled mailbox blocks both warmup and campaign traffic.

Review the audit output without including message bodies or recipient data. It should be possible to understand which path reserved capacity, which boundary applied, and why a claim was refused. That evidence is more useful than a second counter that happens to show the same number during a quiet test.

Shared capacity works best as part of a wider operating model. Safe outreach starts with clear boundaries covers suppression, specific approvals, stop controls, and reviewable audit records.

Related reading

Inspect your sending boundary.

Connect a mailbox to check authentication and the current send gate before building a campaign.

Connect a mailbox