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
| Feature | Description |
| 18 Modules | Complete toolset for every aspect of email deliverability |
| 42-Day Warmup | Automated engine with daily volume ramp-up and seed replies |
| DNS Checker | SPF, DKIM, DMARC and PTR verification with fix guidance |
| 50+ Blacklists | Automatic monitoring with instant alerts and removal links |
| Inbox Tester | Real email tests with open tracking pixel technology |
| Content Analyzer | 500+ spam word detection with color-highlighted preview |
| Reputation Score | 0–100 score combining all deliverability metrics |
| White Label | Full rebrand included on all 4 plans |
| REST API | 15 endpoints for Zapier, Make and custom integrations |
| License Manager | Sell access as your own SaaS — Enterprise plan only |
| Multi-User | Roles (Super Admin, Admin, Viewer) + domain permissions |
| PDF Reports | Client-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
- Download and extract your DomainWarmupSuite ZIP package
- Open cPanel → File Manager → navigate to
public_html/
- Upload all files from the extracted folder
- 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
| Field | Where to Find |
| Database Host | Usually localhost on shared hosting |
| Database Name | The database you created in cPanel → MySQL Databases |
| Database User | The user assigned to that database |
| Database Password | Password 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
- Go to Admin Panel → Domains → Add Domain
- Enter your domain name (e.g.
yourdomain.com)
- Select SMTP Mode: Same Server for cPanel/Exim, or External SMTP for Gmail/SendGrid
- Set From Email (e.g.
send@yourdomain.com)
- Click Save Domain
Verify DNS authentication
- Go to Admin Panel → DNS Checker
- Select your domain and click Run DNS Check
- SPF, DKIM, DMARC and PTR should all show green
- 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 |
| Domains | 5 | 10 | 50 | Unlimited |
| Seed accounts | 20 | 50 | 200 | Unlimited |
| Admin users | 2 | 5 | 20 | Unlimited |
| All 18 modules | ✓ | ✓ | ✓ | ✓ |
| White Label | ✓ | ✓ | ✓ | ✓ |
| REST API | ✓ | ✓ | ✓ | ✓ |
| PDF Reports | ✓ | ✓ | ✓ | ✓ |
| License Manager | — | — | — | ✓ |
| License type | Lifetime ∞ | Lifetime ∞ | Lifetime ∞ | Lifetime ∞ |
| Support | 6 months | 6 months | 6 months priority | Priority |
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
- Your license key is sent by email after purchase
- Enter it during installation at Step 4, or later in Admin Panel → License
- Click Activate License — the key is verified in real time
- 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
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 Range | Emails / Day | Phase |
| Day 1–3 | 5–9 | Initial — establishing identity |
| Day 4–7 | 10–20 | Early — building basic trust |
| Day 8–14 | 25–50 | Mid — accelerating reputation |
| Day 15–21 | 55–72 | Growth — significant engagement |
| Day 22–28 | 75–88 | Maturity — strong reputation signals |
| Day 29–42 | 90–100 | Peak — 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
| Type | Description | Best For |
| Internal (cPanel) | Accounts on your server. Free, unlimited. | High volume, no limits |
| Gmail | Google accounts via IMAP + App Password | Gmail deliverability |
| Hotmail/Outlook | Microsoft accounts with IMAP enabled | Outlook deliverability |
| Yahoo | Yahoo accounts with App Password | Yahoo deliverability |
| iCloud | Apple accounts with App Password | Apple Mail users |
| Zoho | Zoho Mail accounts | Business email |
Setting up Gmail seeds
- Go to Google Account → Security → 2-Step Verification → Enable
- Go to Security → App Passwords → Create (Mail + Custom name)
- Copy the 16-character app password shown
- In DomainWarmupSuite: Seed List → Add Seed → External → Gmail
- 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
- cPanel → Email Accounts → Create Account (e.g.
seed1@yourdomain.com)
- 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
- cPanel → Email → Email Deliverability
- Find your domain → click Manage
- If DKIM shows "Not installed" — click Install
- 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
| File | Frequency | What It Does |
warmup_send.php | Every hour | Sends warmup emails, runs alert engine, checks license, updates reputation |
warmup_reply.php | Every 30 min | Connects to seeds via IMAP, finds warmup emails, sends replies, recovers from spam |
Verify crons are running
- Wait at least 1 hour after adding crons
- Admin Panel → Dashboard — heartbeat dots should be green
- 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.
| Setting | Description |
| Product Name | Replaces "DomainWarmupSuite" everywhere — panel, titles, emails |
| Tagline | Short description below product name in the sidebar |
| Logo | Upload PNG, JPG or SVG — max 2MB, recommended 200×50px |
| Favicon | Browser tab icon — PNG or ICO, 32×32px recommended |
| Primary Color | Buttons, active states and highlights. Includes 9 presets. |
| From Name | "From" name on all system and alert emails |
| From Email | Reply-to for alerts and PDF report emails |
| Custom Footer | Footer text in admin panel. Empty = default. |
| Hide Branding | Removes 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
- Create a subdomain in cPanel (e.g.
licenses.yourdomain.com)
- Create a new MySQL database for the license server
- Upload the
license-server/ files to the subdomain root
- Open
licenses.yourdomain.com/install.php
- Complete the 3-step installer: Database → Admin Account → Install
- Delete
install.php after completion
The 4 default plans
| Plan | Domains | Seeds | Users | Price | Duration |
| Basic | 5 | 20 | 2 | $67 | ∞ Lifetime |
| Pro | 10 | 50 | 5 | $127 | ∞ Lifetime |
| Agency | 50 | 200 | 20 | $247 | ∞ Lifetime |
| Enterprise | Unlimited | Unlimited | Unlimited | $497 | ∞ Lifetime |
Creating and sending a license
- Log in to
licenses.yourdomain.com/admin/
- Licenses → New License
- Select plan, enter customer name and email
- Set duration: Lifetime (never expires) or fixed days
- Click Create License — key is auto-generated
- 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
| Problem | Solution |
| SPF not configured | Add SPF TXT record to DNS (see Chapter 10) |
| DKIM not signing | Enable DKIM in cPanel → Email → Email Deliverability |
| IP blacklisted | Blacklist Monitor → request removal from each listed blacklist |
| Warmup too early | Continue — inbox placement improves significantly after Day 14 |
| Spam content in templates | Content Analyzer — ensure score is below 3.0 |
| No PTR record | Contact hosting to set rDNS for your server IP |
Cron not running
| Problem | Solution |
| Heartbeat shows red | Check cPanel Cron Jobs — verify both crons are saved correctly |
| Wrong PHP path | Find exact path via SSH: which php |
| Wrong username | Check USERNAME matches your actual cPanel username |
| Permission error | Set /cron/ folder permissions to 755 |
| Script error | Check /config/cron.log for PHP error messages |
HTTP 500 errors
| Problem | Solution |
| Wrong header path | Views use __DIR__ . '/header.php' — not /../header.php |
| Missing DB columns | Run the appropriate patch script or recreate the table |
| PHP syntax error | Enable display_errors temporarily to see exact line |
| Session path error | Set /config/sessions/ permissions to 755 |
License not verifying
| Problem | Solution |
| No license key entered | Admin Panel → License → enter your key and click Activate |
| Server unreachable | Grace period applies for 7 days — check your server's outbound cURL |
| Key suspended | Contact support@domainwarmupsuite.com |
| Limit exceeded error | You have reached your plan limit — upgrade your license |
IMAP connection errors (seeds)
| Provider | Solution |
| Gmail | Enable 2FA and use an App Password — never your Google password |
| Hotmail | Enable IMAP in Outlook: Settings → Mail → Sync → IMAP |
| Internal cPanel | Use 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
| Channel | Details |
| Email | support@domainwarmupsuite.com |
| Response Time | Within 24 hours on business days |
| Support Period | 6 months from purchase (priority on Agency and Enterprise) |
| Covered | Installation, configuration, bugs, compatibility |
| Not Covered | Server 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
- You will be notified by email when a new version is available
- Back up your installation (files + database export)
- Upload the new files — config and data are preserved
- 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.