Senders & Domains

Mailbox Warmup

New mailboxes have no sending reputation. Sending cold emails from a fresh mailbox will likely land in spam. Cleanmails includes a coordinated warmup pool that builds reputation by exchanging real emails with other Cleanmails instances worldwide.

How the Pool Works

Unlike simple peer-to-peer warmup (sending between your own mailboxes), Cleanmails uses a coordinated cross-instance pool:

  1. Your mailboxes register with the central coordinator at cleanmails.online
  2. The coordinator assigns daily send/receive tasks — pairing your mailboxes with other instances' mailboxes
  3. Your instance sends warmup emails to mailboxes on other servers (and receives from them)
  4. Received warmup emails are auto-opened and auto-replied to after a delay
  5. Warmup emails landing in spam are automatically rescued and moved to inbox
  6. Health scores (inbox rate, spam rate, reply rate) are synced from the coordinator
Why a pool?

Sending between your own mailboxes trains ESPs that you only talk to yourself — not a real engagement signal. Pool warmup means your mailbox receives emails from diverse domains and IPs, which is what email providers see as genuine activity.

Daily Volume Schedule

Volume increases progressively over 30 days:

Day RangeEmails/DayPurpose
Day 1-32Initial reputation signal
Day 4-75Establishing sending pattern
Day 8-1410Growing volume steadily
Day 15-2120Approaching normal volume
Day 22-3030Full warmup volume
Day 31+Auto-graduated, ready for campaigns

Warmup Email Headers

All warmup emails include a hidden header (X-Cleanmails-Warmup: pool-v1) that identifies them as warmup traffic. This header is invisible to users but allows the receiving instance to:

  • Auto-mark as received and opened
  • Schedule an auto-reply after 3–10 minutes
  • Report engagement back to the coordinator
  • Rescue the email from spam/junk folders if misclassified

Spam Rescue

The IMAP sync worker automatically scans spam/junk folders for warmup pool emails. When found, it moves them to the inbox — this is the most powerful signal to ESPs that these emails are wanted.

Supported spam folder names: [Gmail]/Spam, Junk, Spam, Junk E-mail, Bulk Mail

Enabling Warmup

From the dashboard:

  1. Go to Warmup page (sidebar)
  2. Click Start Warmup on any mailbox
  3. The mailbox will register with the pool and begin receiving tasks within minutes
License required

Warmup requires an active license — the coordinator validates your instance ID and license key before assigning tasks.

Monitoring Warmup Progress

The warmup dashboard shows per-mailbox metrics synced from the coordinator:

  • Warmup Day — Current day in the 30-day cycle
  • Sent Today / Received Today — Today's warmup volume
  • Inbox Rate — Percentage of warmup emails landing in inbox (not spam)
  • Spam Rate — Percentage landing in spam
  • Reply Rate — Percentage that received auto-replies
  • Health Score — 0–100 overall reputation indicator
  • Last 30 Days Chart — Daily breakdown of sent, received, opened, replied

Auto-Reply System

When a warmup email is received, the system schedules an automatic reply after a random delay (3–10 minutes). The reply content is fetched from the coordinator to ensure natural-looking thread conversations. This simulates real engagement and signals to email providers that the mailbox is active.

How It Integrates with Campaigns

While a mailbox is warming up, its effective daily send limit is reduced according to the schedule above. The campaign dispatcher respects this — if a mailbox is on day 5 of warmup, it will only send up to 5 campaign emails per day (not the full daily limit). After day 30, the mailbox graduates and uses its full configured limit.

Best practice

Start warmup 2–3 weeks before you plan to launch campaigns. This gives your mailboxes time to build solid reputation. You can run warmup and campaigns simultaneously — the dispatcher automatically accounts for warmup quotas.

API Endpoints

MethodEndpointDescription
GET/api/v1/workspaces/:wid/warmupList warmup status for all mailboxes
POST/api/v1/workspaces/:wid/warmup/:id/startStart warmup for a mailbox
POST/api/v1/workspaces/:wid/warmup/:id/pausePause warmup
DELETE/api/v1/workspaces/:wid/warmup/:idRemove from warmup pool