Running your own email marketing infrastructure on a VPS gives you full control over deliverability, sending limits, and cost — instead of depending entirely on a third-party SaaS platform. This guide covers everything required to properly configure a VPS for sending bulk or transactional email.
Why Use a VPS for Email Marketing
- Full control over IP reputation, unaffected by other tenants on shared infrastructure
- No per-email SaaS pricing at scale
- Ability to run your own software (Mautic, MailWizz, Postal, Listmonk)
- Complete control over SMTP, DNS, and authentication configuration
Choosing the Right VPS Specifications
| Sending Volume | Recommended Specs |
|---|---|
| Small (under 10,000/month) | 2 vCPU, 4 GB RAM, 50 GB SSD |
| Medium (10,000–100,000/month) | 4 vCPU, 8 GB RAM, NVMe storage |
| Large (100,000+/month) | 8 vCPU, 16 GB+ RAM, dedicated IP(s), NVMe |
Step 1 — Order a VPS with a Dedicated IPv4 Address
A dedicated (not shared) IPv4 address is essential for email marketing — your sender reputation depends entirely on it, and a shared IP means other tenants' bad sending behavior can affect your deliverability. Request this explicitly when ordering, or through your provider's control panel.
Step 2 — Choose a Linux Distribution
Ubuntu or Debian are the most common and best-documented choices for self-hosted mail infrastructure.
Step 3 — Install a Mail Transfer Agent (MTA)
Popular options: Postfix (most common, well-documented), Exim, or a dedicated platform like Postal. See How to Install and Configure Postfix as a Mail Transfer Agent for a full walkthrough.
Step 4 — Configure DNS Authentication
This is the single most important deliverability factor. Set up all three:
- SPF, DKIM, and DMARC — see How to Configure SPF, DKIM, and DMARC (Complete Guide)
- Reverse DNS (PTR) — see How to Set Up Reverse DNS (PTR/rDNS) for Email Deliverability
Step 5 — Warm Up Your Sending IP
Never send high volumes immediately from a new IP — follow a gradual warm-up schedule. See IP Warm-Up: A Safe 30-Day Schedule for New Sending IPs.
Step 6 — Choose Email Marketing Software
See Best Email Marketing Software for a VPS for a comparison of MailWizz, Mautic, Listmonk, and Postal.
Step 7 — Configure a Firewall
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 465/tcp
Port 25 is used for server-to-server delivery, 587 for authenticated client submission, 465 for SMTP over SSL.
Step 8 — Test Deliverability Before Sending Real Campaigns
Send test emails to Gmail, Outlook, and Yahoo accounts, then inspect the message headers to confirm SPF, DKIM, and DMARC all show PASS.
Common Errors
Port 25 blocked — some hosting providers/networks block outbound port 25 by default to prevent spam abuse; contact your provider to request it be unblocked for legitimate use.
Emails landing in spam despite correct DNS — almost always an IP warm-up or list quality issue, not a configuration problem; see Email Marketing Best Practices & Common Pitfalls to Avoid.
Best Practices
- Use a dedicated IPv4, never a shared one, for meaningful sending volume
- Always warm up a new IP gradually
- Send only to opt-in, verified subscribers
- Monitor bounce and complaint rates continuously
FAQ
How many emails can a VPS realistically send per day?
This depends far more on sender reputation, list quality, and provider throttling than raw server resources — a well-configured, warmed-up VPS can send tens of thousands per day, while a fresh unwarmed IP should start with only dozens.
Continue Reading
- How to Configure SPF, DKIM, and DMARC (Complete Guide)
- IP Warm-Up: A Safe 30-Day Schedule for New Sending IPs
- How to Install and Configure Postfix as a Mail Transfer Agent
Browse more articles in Email Hosting & Deliverability.
