Skip to content
SPECIFICTION
Get listed

darkzwarmer

github.com

WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 8.0 #12 of 24 in Email Warmup Software

What it is

darkzwarmer is an open-source email warmup tool for domains and mailboxes the user owns and controls. It generates inboxes across those domains, exchanges warmup mail only between different domains, and replies to its own network’s messages after random delays of 30 minutes to four hours; messages from outsiders are ignored. Per-inbox volume rises from 5 to 35 messages daily over 28 days, then stays at the chosen steady-state level. Sends are randomized across a default 07:00–19:00 local window, with 2–8 minutes of jitter between consecutive sends; weekends pause. Outbound mail uses configurable SMTP, with Amazon SES, SMTP.com, Postmark, Mailgun, Brevo and SendGrid listed as examples. Inbound mail can use IMAP or Resend. The Python 3.11+ runtime stores state in SQLite and is designed to resume after crashes or reboots while preventing duplicate replies. It requires an always-on machine, at least two user-owned domains, SMTP service and an inbound-mail route. Windows scripts support unattended operation; Linux and macOS users can run it under a process manager or terminal session. Configuration includes inbox counts, timing, volume limits and optional scheduled inbox cohorts. The project is MIT-licensed and provided without warranty.

Spec sheet

Purpose
darkzwarmer generates inboxes across user-provided domains, sends warmup email between those inboxes, and replies after human-like delays.Read 7 Oct 2026 · github.com
Controls
Configuration includes inbox counts, sending windows, send delays, reply delays, steady-state volume, and an optional per-inbox daily send ceiling.Read 7 Oct 2026 · github.com
Cross-domain sending
Inboxes send to inboxes on other configured domains; same-domain pairs are not used.Read 7 Oct 2026 · github.com
Cross-domain traffic
Each inbox sends only to inboxes on other domains, and the tool does not use same-domain pairs.Read 7 Oct 2026 · github.com
Expansion
Optional wave cohorts can add inboxes automatically on a configured schedule, with new inboxes starting at Day 1.Read 7 Oct 2026 · github.com
Inbound integrations
Inbound mail can be received through IMAP or Resend; the Resend setup uses a Vercel webhook and an Upstash Redis queue.Read 7 Oct 2026 · github.com
License and warranty
The project is MIT-licensed and provided as-is without warranty.Read 7 Oct 2026 · github.com
Operating system support
The README provides unattended-operation scripts for Windows and says Linux and macOS users can run the process under a service manager or terminal session.Read 7 Oct 2026 · github.com
Operating systems
The README describes unattended operation on Windows and running under process managers on Linux and macOS.Read 7 Oct 2026 · github.com
Replies
The network waits a random 30 minutes to 4 hours before replying in-thread to its own messages, and ignores outsider mail.Read 7 Oct 2026 · github.com
Reply behavior
The tool replies to its own network’s messages after a random 30-minute to 4-hour delay and ignores outsider mail.Read 7 Oct 2026 · github.com
Requirements
It requires Python 3.11 or later, at least two user-owned domains for cross-domain traffic, an outbound SMTP provider, and a way to receive mail.Read 7 Oct 2026 · github.com
Responsible use
The maker says the tool only emails its own network and is intended for domains and mailboxes the user owns and controls.Read 7 Oct 2026 · github.com
Runtime
The project requires Python 3.11 or later and an always-on machine, and stores state in SQLite.Read 7 Oct 2026 · github.com
Scheduling
Sends are randomized across a default 07:00–19:00 local window, with 2–8 minutes of jitter between an inbox’s consecutive sends; weekends are paused.Read 7 Oct 2026 · github.com
Security and credentials
The README says secrets are supplied through environment variables, and identifies .env, catch-all credentials, and the SQLite database as git-ignored files.Read 7 Oct 2026 · github.com
Security practices
The Resend webhook verifies request signatures, while SMTP, Resend, Upstash, and IMAP credentials are configured locally and credential files are gitignored.Read 7 Oct 2026 · github.com
Self-hosting
The project describes itself as a Python runtime backed by SQLite that users run on an always-on machine or VPS.Read 7 Oct 2026 · github.com
Sending integrations
Outbound delivery uses configurable SMTP and the README lists Amazon SES, SMTP.com, Postmark, Mailgun, Brevo, and SendGrid as examples.Read 7 Oct 2026 · github.com
SMTP integrations
Outbound sending uses configurable SMTP; listed providers include Amazon SES, SMTP.com, Postmark, Mailgun, Brevo, and SendGrid.Read 7 Oct 2026 · github.com
State and recovery
SQLite stores runtime state, and the README says the tool resumes after crashes or reboots and prevents duplicate replies with a unique index.Read 7 Oct 2026 · github.com
Usage limits
A per-inbox daily send ceiling can be configured, and the README notes that provider rate or quota limits can cause send failures.Read 7 Oct 2026 · github.com
Warmup ramp
Per-inbox volume increases from 5 to 35 messages per day over 28 days, then stays at the steady-state level.Read 7 Oct 2026 · github.com
Warmup schedule
Per-inbox sending volume ramps from 5 to 35 messages per day over 28 days, then stays at the steady-state volume.Read 7 Oct 2026 · github.com

Strong points and limits

Strong points

  • Open-source and MIT-licensed
  • Supports IMAP or Resend for inbound mail
  • SQLite state supports recovery after crashes or reboots
  • Configurable schedules, delays and per-inbox ceilings

Limits

  • Requires Python 3.11 or later
  • Requires at least two user-owned domains
  • Needs an always-on machine and mail providers
  • Provider rate or quota limits can cause failures

Who it suits

darkzwarmer suits users who own at least two domains and want to run an email warmup network on an always-on machine or VPS. It requires comfort configuring SMTP and an inbound mail route.

Verdict

darkzwarmer describes its scheduling, domain-pairing and reply behavior in detail, along with runtime requirements and operating-system approaches. It is designed for a private network of mailboxes the user controls, not for handling outsider mail.

Where Specifiction places it

Alternatives to darkzwarmerAll alternatives →