Complete Documentation

DomainWarmupSuite
Installation & User Manual

The complete guide to installing, configuring and using DomainWarmupSuite — the self-hosted email warmup and deliverability platform.

Version 1.0.0 4 Plans 18 Modules ~30 min read Lifetime License
Chapter 01

Introduction & Overview

DomainWarmupSuite is a complete self-hosted email warmup and deliverability platform. It installs on your own web hosting account — you own the software, control the data, and pay once for a lifetime license.

Without warmup
Sending bulk email from a new domain causes emails to land in spam, domain/IP blacklisting, inbox rates of 0%, and permanent reputation damage that is very hard to recover from.

How it works

1
Send warmup emails
The engine sends emails from your domain to seed accounts (Gmail, Hotmail, Yahoo, internal) at gradually increasing volumes.
2
Seeds reply automatically
Seed accounts receive and reply to emails via IMAP, simulating genuine engagement that email providers track and reward.
3
Volume ramps up daily
Starting at 5 emails/day, increasing to 100/day by Day 42 — following a proven exponential schedule.
4
Monitor everything
DNS, blacklist, inbox placement and reputation monitoring runs in parallel. Alerts notify you of any issues instantly.

Key features

FeatureDescription
18 ModulesComplete toolset for every aspect of email deliverability
42-Day WarmupAutomated engine with daily volume ramp-up and seed replies
DNS CheckerSPF, DKIM, DMARC and PTR verification with fix guidance
50+ BlacklistsAutomatic monitoring with instant alerts and removal links
Inbox TesterReal email tests with open tracking pixel technology
Content Analyzer500+ spam word detection with color-highlighted preview
Reputation Score0–100 score combining all deliverability metrics
White LabelFull rebrand included on all 4 plans
REST API15 endpoints for Zapier, Make and custom integrations
License ManagerSell access as your own SaaS — Enterprise plan only
Multi-UserRoles (Super Admin, Admin, Viewer) + domain permissions
PDF ReportsClient-ready downloadable and emailable reports
Chapter 02

System Requirements

Hosting requirements

PHP 7.4+ (8.x recommended)
MySQL 5.7+ or MariaDB 10.3+
Apache or Nginx with .htaccess
cPanel, VPS or dedicated server
Cron job access (required)
SSL certificate (free via Let's Encrypt)
PHP mail() / Exim mail server
PDO, cURL, OpenSSL, mbstring
Tested Environment
Developed and tested on cPanel with PHP 8.4 and MariaDB. Works on any standard LAMP stack. VPS with Exim is ideal for automatic DKIM signing of warmup emails.

Email sending requirements

  • A dedicated or clean shared IP address
  • Exim mail server (standard on cPanel)
  • PTR/rDNS record — set by your hosting provider on request
  • DKIM signing enabled in cPanel → Email Deliverability
  • SPF record in DNS pointing to your server
Chapter 03

Installation Guide

Pre-installation checklist
Create a MySQL database in cPanel before starting. Note the database name, username and password. Ensure PHP 7.4+ is selected and SSL is active on your domain.

Step 1 — Upload files

  1. Download and extract your DomainWarmupSuite ZIP package
  2. Open cPanel → File Manager → navigate to public_html/
  3. Upload all files from the extracted folder
  4. Alternatively use FTP to upload to public_html/
Subdirectory install
You can install in a subdirectory (e.g. public_html/warmup/). Access the installer at yourdomain.com/warmup/install/

Step 2 — Run the installer

Open your browser and navigate to:

https://yourdomain.com/install/

Installer Step 1 — System Check

Verifies PHP extensions and server requirements. Green = OK. If red — contact hosting to enable missing extensions or change PHP version in cPanel → MultiPHP Manager.

Installer Step 2 — Database

FieldWhere to Find
Database HostUsually localhost on shared hosting
Database NameThe database you created in cPanel → MySQL Databases
Database UserThe user assigned to that database
Database PasswordPassword set when creating the database user

Installer Step 3 — Site Configuration

  • Site Name — shown in admin panel and emails
  • Site URL — full URL with https:// (e.g. https://yourdomain.com)
  • Admin Email — your email for system notifications

Installer Step 4 — License Key

Enter your license key received by email after purchase. The key is verified against licenses.domainwarmupsuite.com in real time. Your plan limits (domains, seeds, users) are set from the server response.

Installer Step 5 — Database Tables

Creates all 17 database tables and seeds them with default data including 51 email templates, warmup schedule and alert settings.

Installer Step 6 — Complete

Shows your cron job commands to copy, admin panel link and post-installation checklist.

Security — Delete installer
Delete the /install/ folder from your server immediately after installation. This is a security requirement — the installer provides direct DB access.
Chapter 04

Post-Installation Setup

Configure cron jobs

Go to cPanel → Cron Jobs and add both jobs. Replace USERNAME with your cPanel username.

Send engine — Every hour

0 * * * * /usr/local/bin/php /home/USERNAME/public_html/cron/warmup_send.php >> /home/USERNAME/public_html/config/cron.log 2>&1

Reply engine — Every 30 minutes

*/30 * * * * /usr/local/bin/php /home/USERNAME/public_html/cron/warmup_reply.php >> /home/USERNAME/public_html/config/cron.log 2>&1
Exact commands
The installer Step 6 shows the exact cron commands with your username already filled in. Copy them directly from there.

Add your first domain

  1. Go to Admin Panel → Domains → Add Domain
  2. Enter your domain name (e.g. yourdomain.com)
  3. Select SMTP Mode: Same Server for cPanel/Exim, or External SMTP for Gmail/SendGrid
  4. Set From Email (e.g. send@yourdomain.com)
  5. Click Save Domain

Verify DNS authentication

  1. Go to Admin Panel → DNS Checker
  2. Select your domain and click Run DNS Check
  3. SPF, DKIM, DMARC and PTR should all show green
  4. Fix any red items before starting warmup
Chapter 05

Plans & Pricing

DomainWarmupSuite is available in 4 plans. All plans include a lifetime license (never expires), all 18 modules and full White Label. The differences are limits and the exclusive License Manager in Enterprise.

Feature Basic $67 Pro $127 Popular Agency $247 Enterprise $497 SaaS
Domains51050Unlimited
Seed accounts2050200Unlimited
Admin users2520Unlimited
All 18 modules
White Label
REST API
PDF Reports
License Manager
License typeLifetime ∞Lifetime ∞Lifetime ∞Lifetime ∞
Support6 months6 months6 months priorityPriority
White Label on every plan
All 4 plans include full White Label — custom logo, colors, product name and domain. You can sell warmup services under your own brand even on the Basic plan.

What "Lifetime" means

Lifetime license means the license key never expires. You pay once and the software works forever. Future updates are also included at no extra cost. There are no renewal fees, no monthly charges and no per-domain fees.

Plan limits enforcement

Plan limits are enforced live from the license server. When you try to add more domains, seeds or users than your plan allows, you will see an error message with the current limit. Upgrade your license at any time by purchasing a higher plan.

Chapter 06

License Activation

Activating your license

  1. Your license key is sent by email after purchase
  2. Enter it during installation at Step 4, or later in Admin Panel → License
  3. Click Activate License — the key is verified in real time
  4. Your plan details and limits are loaded from the license server

How verification works

Every 24 hours, the warmup cron checks your license against licenses.domainwarmupsuite.com. The result is cached locally for 25 hours. If the server is unreachable, a 7-day grace period applies automatically.

License status badge

Your license status is shown in Admin Panel → License and in the sidebar plan badge:

  • Active ∞ Lifetime — license is valid and verified
  • Grace Period — server unreachable, using cached result (up to 7 days)
  • Invalid — key not found, suspended or grace period expired
Verification endpoint
Licenses are verified against licenses.domainwarmupsuite.com/api/verify.php. This server is controlled exclusively by AVMScript and is always online.
Chapter 07

All 18 Modules

DomainWarmupSuite ships with 18 fully built modules. All are included in every plan.

01
Installer
6-step guided web installer
02
Dashboard
Real-time metrics overview
03
Domain Manager
Multi-domain support
04
DNS Checker
SPF, DKIM, DMARC, PTR
05
Blacklist Monitor
50+ blacklists checked
06
SMTP Tester
Verify email sending
07
Email Templates
51 warmup templates
08
Seed List
Internal + external seeds
09
Warmup Engine
42-day auto ramp-up
10
Content Analyzer
500+ spam checks
11
Inbox Tester
Real placement + tracking
12
Reputation Dashboard
Score 0–100
13
Alerts
6 alert types by email
14
Multi-User
Roles + permissions
15
PDF Reports
Client-ready reports
16
White Label
Full rebrand — all plans
17
REST API
15 endpoints
18
License Manager
Enterprise only
Chapter 08

Warmup Engine — Deep Dive

How it works

Two cron jobs power the engine: warmup_send.php sends emails, warmup_reply.php connects to seed inboxes and replies. Together they simulate natural email correspondence.

The 42-day schedule

Day RangeEmails / DayPhase
Day 1–35–9Initial — establishing identity
Day 4–710–20Early — building basic trust
Day 8–1425–50Mid — accelerating reputation
Day 15–2155–72Growth — significant engagement
Day 22–2875–88Maturity — strong reputation signals
Day 29–4290–100Peak — full sending capacity
Why replies matter
Email providers measure engagement. When seed accounts reply to your emails, it signals to Gmail, Outlook and Yahoo that your emails are wanted — the strongest positive signal for reputation building.

Cron heartbeat monitor

The dashboard shows color-coded dots for each cron:

  • Green — ran less than 1 hour ago
  • Yellow — ran 1–2 hours ago
  • Red — not run for over 2 hours — action required

DKIM signing

DomainWarmupSuite sends via PHP mail() which routes through Exim. When DKIM is enabled in cPanel → Email → Email Deliverability, Exim automatically signs every outgoing email — including warmup emails. No additional configuration needed.

Chapter 09

Seed Accounts Setup

Types of seeds

TypeDescriptionBest For
Internal (cPanel)Accounts on your server. Free, unlimited.High volume, no limits
GmailGoogle accounts via IMAP + App PasswordGmail deliverability
Hotmail/OutlookMicrosoft accounts with IMAP enabledOutlook deliverability
YahooYahoo accounts with App PasswordYahoo deliverability
iCloudApple accounts with App PasswordApple Mail users
ZohoZoho Mail accountsBusiness email

Setting up Gmail seeds

  1. Go to Google Account → Security → 2-Step Verification → Enable
  2. Go to Security → App Passwords → Create (Mail + Custom name)
  3. Copy the 16-character app password shown
  4. In DomainWarmupSuite: Seed List → Add Seed → External → Gmail
  5. Enter the Gmail address and the App Password (not your Google password)
IMAP Host: imap.gmail.com
Port: 993  |  Encryption: SSL

Setting up internal (cPanel) seeds

  1. cPanel → Email Accounts → Create Account (e.g. seed1@yourdomain.com)
  2. DomainWarmupSuite → Seed List → Add Seed → Internal (cPanel)
IMAP Host: mail.yourdomain.com
Port: 993  |  Encryption: SSL
Username: seed1@yourdomain.com
Recommended starting seeds
Start with at least 5–10 seeds: 2–3 internal, 2–3 Gmail, 1–2 Hotmail, 1 Yahoo. More seeds = faster reputation building. Limits depend on your plan (Basic: 20 / Pro: 50 / Agency: 200 / Enterprise: unlimited).
Chapter 10

DNS & Authentication Setup

SPF Record

Type:  TXT
Name:  @ (or yourdomain.com)
Value: v=spf1 ip4:YOUR.SERVER.IP ~all

DKIM — Enable in cPanel

  1. cPanel → Email → Email Deliverability
  2. Find your domain → click Manage
  3. If DKIM shows "Not installed" — click Install
  4. Exim now signs all outgoing emails automatically

DMARC Record

Type:  TXT
Name:  _dmarc.yourdomain.com
Value: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com

PTR / Reverse DNS

PTR is set by your hosting provider — not in your DNS panel. Contact hosting support and ask: "Please set the PTR record for IP [your IP] to mail.yourdomain.com"

DNS propagation
DNS changes take 15 minutes to 48 hours to propagate. Wait at least 30 minutes after making changes before running the DNS Checker.
Chapter 11

Cron Jobs Configuration

Add both cron jobs in cPanel → Cron Jobs. Replace USERNAME with your cPanel username (shown in Step 6 of the installer).

Send engine — Every hour

0 * * * * /usr/local/bin/php /home/USERNAME/public_html/cron/warmup_send.php >> /home/USERNAME/public_html/config/cron.log 2>&1

Reply engine — Every 30 minutes

*/30 * * * * /usr/local/bin/php /home/USERNAME/public_html/cron/warmup_reply.php >> /home/USERNAME/public_html/config/cron.log 2>&1
FileFrequencyWhat It Does
warmup_send.phpEvery hourSends warmup emails, runs alert engine, checks license, updates reputation
warmup_reply.phpEvery 30 minConnects to seeds via IMAP, finds warmup emails, sends replies, recovers from spam

Verify crons are running

  1. Wait at least 1 hour after adding crons
  2. Admin Panel → Dashboard — heartbeat dots should be green
  3. Check /config/cron.log in File Manager for output
Chapter 12

White Label Configuration

Included on all 4 plans
White Label is included on every plan from Basic $67 upwards. You can rebrand completely even on the cheapest plan.

Go to Admin Panel → White Label to configure all branding settings.

SettingDescription
Product NameReplaces "DomainWarmupSuite" everywhere — panel, titles, emails
TaglineShort description below product name in the sidebar
LogoUpload PNG, JPG or SVG — max 2MB, recommended 200×50px
FaviconBrowser tab icon — PNG or ICO, 32×32px recommended
Primary ColorButtons, active states and highlights. Includes 9 presets.
From Name"From" name on all system and alert emails
From EmailReply-to for alerts and PDF report emails
Custom FooterFooter text in admin panel. Empty = default.
Hide BrandingRemoves all "DomainWarmupSuite by AVMScript" references
Chapter 13

License Manager Enterprise Only

Enterprise Plan — $497
The License Manager is exclusively included in the Enterprise plan. It allows you to deploy your own license server and sell access to DomainWarmupSuite under your own brand as a SaaS business.

Installing the license server

  1. Create a subdomain in cPanel (e.g. licenses.yourdomain.com)
  2. Create a new MySQL database for the license server
  3. Upload the license-server/ files to the subdomain root
  4. Open licenses.yourdomain.com/install.php
  5. Complete the 3-step installer: Database → Admin Account → Install
  6. Delete install.php after completion

The 4 default plans

PlanDomainsSeedsUsersPriceDuration
Basic5202$67∞ Lifetime
Pro10505$127∞ Lifetime
Agency5020020$247∞ Lifetime
EnterpriseUnlimitedUnlimitedUnlimited$497∞ Lifetime

Creating and sending a license

  1. Log in to licenses.yourdomain.com/admin/
  2. Licenses → New License
  3. Select plan, enter customer name and email
  4. Set duration: Lifetime (never expires) or fixed days
  5. Click Create License — key is auto-generated
  6. Click the email icon to send the key to the customer

How client verification works

Every 24 hours, DomainWarmupSuite checks the license key against your license server. If the server is unreachable, a 7-day grace period applies. If the license expires or is suspended, an alert email is sent to the admin.

Chapter 14

REST API Reference

Authentication

Generate an API key in Admin Panel → API → Generate API Key. Pass it via header or query parameter:

Authorization: Bearer YOUR_API_KEY

# or as query parameter:
?api_key=YOUR_API_KEY

Base URL

https://yourdomain.com/api/v1/

Rate limiting

1,000 requests per hour per API key. Returns HTTP 429 when exceeded.

All endpoints

GET /ping Health check — version and timestamp 🌐 Public
GET /docs Full API docs as JSON 🌐 Public
GET /status System status, cron health, daily stats 🔑 Auth
GET /me Current authenticated user info 🔑 Auth
GET /domains List all domains with warmup status 🔑 Auth
POST /domains Create a new domain 🔑 Auth
GET /domains/:id Domain details with DNS and stats 🔑 Auth
PUT /domains/:id Update domain settings 🔑 Auth
DEL /domains/:id Delete a domain and all data 🔑 Auth
POST /domains/:id/start Start warmup (from idle) 🔑 Auth
POST /domains/:id/pause Pause warmup (from warming) 🔑 Auth
POST /domains/:id/resume Resume warmup (from paused) 🔑 Auth
POST /domains/:id/stop Stop and reset warmup 🔑 Auth
GET /domains/:id/logs Warmup activity logs (paginated) 🔑 Auth
GET /seeds List all seed accounts 🔑 Auth
GET /templates List email templates (?category= filter) 🔑 Auth
GET /reputation/:id Reputation score, DNS and blacklist data 🔑 Auth
Chapter 15

Troubleshooting

Emails going to spam

ProblemSolution
SPF not configuredAdd SPF TXT record to DNS (see Chapter 10)
DKIM not signingEnable DKIM in cPanel → Email → Email Deliverability
IP blacklistedBlacklist Monitor → request removal from each listed blacklist
Warmup too earlyContinue — inbox placement improves significantly after Day 14
Spam content in templatesContent Analyzer — ensure score is below 3.0
No PTR recordContact hosting to set rDNS for your server IP

Cron not running

ProblemSolution
Heartbeat shows redCheck cPanel Cron Jobs — verify both crons are saved correctly
Wrong PHP pathFind exact path via SSH: which php
Wrong usernameCheck USERNAME matches your actual cPanel username
Permission errorSet /cron/ folder permissions to 755
Script errorCheck /config/cron.log for PHP error messages

HTTP 500 errors

ProblemSolution
Wrong header pathViews use __DIR__ . '/header.php' — not /../header.php
Missing DB columnsRun the appropriate patch script or recreate the table
PHP syntax errorEnable display_errors temporarily to see exact line
Session path errorSet /config/sessions/ permissions to 755

License not verifying

ProblemSolution
No license key enteredAdmin Panel → License → enter your key and click Activate
Server unreachableGrace period applies for 7 days — check your server's outbound cURL
Key suspendedContact support@domainwarmupsuite.com
Limit exceeded errorYou have reached your plan limit — upgrade your license

IMAP connection errors (seeds)

ProviderSolution
GmailEnable 2FA and use an App Password — never your Google password
HotmailEnable IMAP in Outlook: Settings → Mail → Sync → IMAP
Internal cPanelUse mail.yourdomain.com (not localhost) with SSL port 993
Chapter 16

Frequently Asked Questions

How long does warmup take?

A complete warmup is 42 days. Most users see significant inbox placement improvement after Day 14–21, especially when DNS is fully configured and seeds are active.

What is the difference between the 4 plans?

All plans include all 18 modules, White Label and lifetime license. The differences are: Basic (5 domains / 20 seeds / 2 users / $67), Pro (10 / 50 / 5 / $127), Agency (50 / 200 / 20 / $247), Enterprise (unlimited / unlimited / unlimited / $497 + License Manager).

Does White Label really come with every plan?

Yes — every plan from Basic upwards includes full White Label. You can rebrand completely with your own logo, colors and domain name even on the $67 Basic plan.

What is the License Manager and who needs it?

The License Manager (Enterprise only) lets you deploy your own license server and sell access to DomainWarmupSuite to your clients under your own brand. If you want to resell warmup as a SaaS service, you need Enterprise. If you just want to use warmup yourself (even for client domains), the Agency plan at $247 is sufficient.

Is the license really lifetime?

Yes. You pay once and the license never expires. Future updates are included. No monthly fees, no renewal fees, no per-domain fees.

Can I warm up multiple domains at once?

Yes. Each plan supports multiple domains simultaneously: Basic (5), Pro (10), Agency (50), Enterprise (unlimited). Each domain has its own warmup schedule and reputation tracking.

How many seed accounts do I need?

Start with at least 5–10 seeds across multiple providers. Your plan sets the maximum: Basic (20), Pro (50), Agency (200), Enterprise (unlimited). More diverse seeds = faster reputation building.

Do I need technical skills to install it?

The installer is a 6-step guided wizard similar to WordPress. If you can upload files via cPanel and create a MySQL database, you can install in under 15 minutes. Full documentation is included.

Chapter 17

Support & Updates

ChannelDetails
Emailsupport@domainwarmupsuite.com
Response TimeWithin 24 hours on business days
Support Period6 months from purchase (priority on Agency and Enterprise)
CoveredInstallation, configuration, bugs, compatibility
Not CoveredServer administration, registrar DNS, unrelated cPanel issues

Before contacting support

  • Your license key
  • PHP version (Admin Panel → Settings → System Info)
  • The exact error message or behavior
  • Steps to reproduce the issue
  • What you have already tried

Receiving updates

  1. You will be notified by email when a new version is available
  2. Back up your installation (files + database export)
  3. Upload the new files — config and data are preserved
  4. Run any migration scripts included with the update
Lifetime updates
All future updates are included with your lifetime license at no extra cost. You will receive update notifications by email.