darkzwarmer
github.com
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
- Email Warmup Software#12 of 248.0