If you are looking to send over 100,000 emails per day without breaking the bank on services like SendGrid or Mailgun, a self-hosted infrastructure is the only viable solution. The gold standard for this setup is PowerMTA (PMTA) combined with MailWizz.
This guide will walk you through the technical requirements, DNS authentication, and installation steps required to build a high-volume email server.
⚠️ Warning: This is Technical!
Setting up PowerMTA requires Linux knowledge and precise DNS configuration. One mistake can ruin your IP reputation.
Want us to do it for you? We can set up your entire server in 24 hours.
Hire DMARCMaster for SetupStep 1: Server Requirements
Before you begin, you need the right hardware. Do not use standard shared hosting. You need a VPS (Virtual Private Server) or a Dedicated Server with port 25 open.
- OS: CentOS 7, AlmaLinux 8, or Ubuntu 20.04 (CentOS is preferred for PMTA).
- RAM: Minimum 4GB (8GB recommended for MailWizz).
- IPs: At least 1 Clean Dedicated IP. For high volume (1M+ emails), we recommend a /29 block (5 IPs) or /24 block (254 IPs) for rotation.
Step 2: DNS Authentication (The Most Critical Step)
You cannot send emails without proper authentication. If you skip this, your emails will go to Spam immediately.
1. A Record
Point your hostname (e.g., server.yourdomain.com) to your server's Main IP.
2. PTR Record (rDNS)
This is configured at your hosting provider level (not your domain registrar). The Reverse DNS of your IP must match your hostname.
3. SPF Record
Add a TXT record to your domain:
v=spf1 ip4:1.2.3.4 -all
4. DMARC Record
Add a TXT record for _dmarc:
v=DMARC1; p=none; rua=mailto:admin@yourdomain.com
Step 3: Installing PowerMTA
Once your DNS is propagated, log in to your server via SSH (using Putty or Terminal).
1. Update System
yum update -y
2. Upload and Install RPM
Upload your PowerMTA RPM file to the server (usually to /usr/src). Then run:
rpm -ivh PowerMTA-5.0r3.rpm
Step 4: Configuring config
The heart of PowerMTA is the config file located at /etc/pmta/config. This is where you define your Virtual MTAs (VMTAs) and IP rotation rules.
smtp-source-host 1.2.3.4 server.yourdomain.com
max-smtp-out 20
max-msg-per-connection 50
Step 5: Installing MailWizz
MailWizz is the front-end dashboard where you upload contacts and send campaigns. It connects to PowerMTA via SMTP.
- Install a LAMP stack (Linux, Apache, MySQL, PHP).
- Create a MySQL database for MailWizz.
- Upload MailWizz files to
/var/www/html. - Run the installer from your browser and connect it to your database.
Need a Professional Setup?
We handle everything: Installation, DNS, DKIM, MailWizz integration, and we provide a Warm-up Schedule.
Get a Free Strategy Call