Warmup-Based Automated Recovery
Automated mailbox healing using your sending platform's native warmup feature for guaranteed engagement and zero maintenance
🎯 Overview
This system uses your sending platform's native warmup feature to automatically heal mailboxes through recovery phases. Warmup provides better engagement, automatic volume ramping, and zero test lead management compared to custom healing campaigns.
Why Warmup is Better
| Feature | Healing Campaigns (Old) | Warmup (New) ✅ |
|---|---|---|
| Test Leads | Manual management required | Automatic (platform warmup network) |
| Engagement | Unpredictable | Guaranteed (reciprocal warmup pool) |
| Volume Ramping | Manual updates | Automatic (daily_rampup parameter) |
| Reputation Tracking | Not available | Built-in (warmup_reputation) |
| Setup Complexity | High (campaigns, test leads, sequences) | Low (2 API calls) |
| Maintenance | Requires test lead pool | Zero maintenance |
🔄 Complete Recovery Flow
Bounce Threshold Exceeded
Trigger: Mailbox reaches 3% bounce rate (2 bounces / 60 sends)
- 1. Webhook receives
EMAIL_BOUNCEDevent - 2. Calculate bounce rate: 3.3% > 3% threshold
- 3. ✅ Update mailbox:
status = 'paused', recovery_phase = 'paused' - 4. ✅ Remove from ALL active campaigns (infrastructure hygiene)
- 5. ✅ Set 48h cooldown
- 6. ✅ Notify user: "Mailbox auto-paused & removed"
Status: Mailbox paused, removed from production
Cooldown Complete → QUARANTINE
Trigger: Automated healing worker
- 1. Check
cooldown_untiltimestamp - 2. ✅ Transition:
PAUSED → QUARANTINE - 3. Await DNS/SPF/DKIM checks
- 4. Await root cause resolution
Status: In quarantine, awaiting health verification
DNS Passes → RESTRICTED_SEND
Trigger: Health checks pass OR operator manually graduates
- 1. ✅ Transition:
QUARANTINE → RESTRICTED_SEND - 2. 🆕 Enable platform warmup:
- •
total_warmup_per_day: 10 - •
daily_rampup: 0(flat volume) - •
reply_rate_percentage: 30
- •
- 3. ✅ Reset tracking:
phase_clean_sends = 0, phase_bounces = 0 - 4. ✅ Notify user: "Warmup enabled. System will send 15 clean emails at 10/day."
Status: Warmup active, automated sends begin (10 emails/day to warmup pool)
Automated Warmup Sends
Warmup Worker Runs Daily:
- 1. Poll platform warmup stats API
- 2. Get
total_sent_count,total_spam_count,warmup_reputation - 3. Check graduation criteria: 15 clean sends, 0 spam
- 4. If criteria met → Auto-graduate to
WARM_RECOVERY
Example Timeline:
- • Day 3: 10 sends →
total_sent_count = 10 - • Day 4: 10 sends →
total_sent_count = 20✅ Ready for graduation!
Final Recovery Phase → HEALTHY
Graduation Criteria: 50 sends, 0 spam, 3+ days
Example Timeline:
- • Day 5: 50 sends (with rampup) →
total_sent_count = 50, days = 1 - • Day 6: 55 sends →
total_sent_count = 105, days = 2 - • Day 7: 60 sends →
total_sent_count = 165, days = 3✅ Ready!
Auto-Graduation:
- 1. ✅ Transition:
WARM_RECOVERY → HEALTHY - 2. ✅ Switch to maintenance warmup (10/day) OR disable completely
- 3. ✅ Re-add mailbox to all production campaigns
- 4. ✅ Notify user: "Mailbox fully recovered! Re-added to production."
🎉 Status: Mailbox healthy and back in production!
🛡️ Safety Features
⚠️ Zero Bounce Tolerance During Recovery
If mailbox bounces during RESTRICTED_SEND or WARM_RECOVERY:
- 1. Webhook receives
EMAIL_BOUNCEDevent - 2. Check
recovery_phase: restricted_send or warm_recovery - 3. ✅ IMMEDIATE REGRESSION to
PAUSED - 4. ✅ Set new cooldown (longer - relapse penalty)
- 5. ✅ Notify user: "Recovery failed - bounce detected"
- 6. ✅ Recovery restarts from Day 0
Why This Matters: Ensures only actually healthy mailboxes return to production.
⚙️ Warmup Configuration
RESTRICTED_SEND Phase
10 emails/day0 (flat)30% reply rate15 clean sendsWARM_RECOVERY Phase
50 emails/day5 (gradual increase)40% reply rate50 sends, 3+ days📊 Key Insights
- • Automated graduation via daily warmup worker checks
- • Zero manual intervention — system progresses mailboxes automatically
- • Guaranteed engagement through your platform's reciprocal warmup network
- • Progressive volume ramping ensures safe reputational recovery
- • Zero tolerance for bounces during recovery prevents false positives