setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $pdo->exec("DROP TABLE IF EXISTS email_warmup CASCADE"); $pdo->exec("CREATE TABLE IF NOT EXISTS email_warmup(id SERIAL PRIMARY KEY,email VARCHAR(255),account_type VARCHAR(50),smtp_host VARCHAR(255),smtp_port INT DEFAULT 587,smtp_user VARCHAR(255),smtp_pass TEXT,daily_target INT DEFAULT 50,current_day INT DEFAULT 1,emails_sent_today INT DEFAULT 0,total_sent INT DEFAULT 0,status VARCHAR(50) DEFAULT 'active',schedule VARCHAR(50) DEFAULT 'moderate',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"); $msg=''; if($_POST){ $act=$_POST['action']??''; if($act=='add'){$pdo->prepare("INSERT INTO email_warmup(email,account_type,smtp_host,smtp_port,smtp_user,smtp_pass,daily_target,schedule) VALUES(?,?,?,?,?,?,?,?)")->execute([$_POST['email'],$_POST['type'],$_POST['smtp_host'],$_POST['smtp_port'],$_POST['smtp_user'],$_POST['smtp_pass'],$_POST['daily_target'],$_POST['schedule']]);$msg='Account added!';} if($act=='pause'){$pdo->prepare("UPDATE email_warmup SET status='paused' WHERE id=?")->execute([$_POST['id']]);$msg='Paused!';} if($act=='start'){$pdo->prepare("UPDATE email_warmup SET status='active' WHERE id=?")->execute([$_POST['id']]);$msg='Started!';} if($act=='delete'){$pdo->prepare("DELETE FROM email_warmup WHERE id=?")->execute([$_POST['id']]);$msg='Deleted!';} if($act=='reset'){$pdo->prepare("UPDATE email_warmup SET current_day=1,emails_sent_today=0,total_sent=0 WHERE id=?")->execute([$_POST['id']]);$msg='Reset!';} } $accounts=$pdo->query("SELECT * FROM email_warmup ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC); $total=count($accounts);$active=count(array_filter($accounts,fn($a)=>$a['status']=='active')); $sent=array_sum(array_column($accounts,'emails_sent_today')); ?>Email Warmup

Email Warmup Tool

Automated warmup for Office 365 & Gmail

Dashboard
Total Accounts
Active
Sent Today
Paused

Add Account

Schedules

Conservative

6 weeks - 10→200 emails/day

Moderate

4 weeks - 20→400 emails/day

Aggressive

2 weeks - 50→1000 emails/day

Warmup Accounts

AccountTypeProgressTodayStatusActions

Day
%
/
No warmup accounts yet. Add one to get started!